]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinsettings.h
This TODO is implementable now: use real KFileItem instead of fake one
[dolphin.git] / src / dolphinsettings.h
index fac7894cd6f458afbcd49d0664bb2e96bb03e95e..dc1b0a8401d57c572c723f8917e1e22ffce59004 100644 (file)
 #ifndef DOLPHINSETTINGS_H
 #define DOLPHINSETTINGS_H
 
-class KBookmark;
-class KBookmarkManager;
+#include <libdolphin_export.h>
+
+class ColumnModeSettings;
+class DetailsModeSettings;
 class GeneralSettings;
 class IconsModeSettings;
-class DetailsModeSettings;
+class KFilePlacesModel;
 
 /**
  * @brief Manages and stores all settings from Dolphin.
  *
  * The following properties are stored:
- * - home Url
+ * - home URL
  * - default view mode
- * - Url navigator state (editable or not)
+ * - URL navigator state (editable or not)
  * - split view
- * - bookmarks
- * - properties for icons and details view
+ * - properties for views
  */
-class DolphinSettings {
+class LIBDOLPHINPRIVATE_EXPORT DolphinSettings
+{
 public:
     static DolphinSettings& instance();
 
-    GeneralSettings* generalSettings() const { return m_generalSettings; }
-    IconsModeSettings* iconsModeSettings() const { return m_iconsModeSettings; }
-    DetailsModeSettings* detailsModeSettings() const { return m_detailsModeSettings; }
-
-    KBookmarkManager* bookmarkManager() const;
-
-    // TODO: should this really belong here or get moved to a derived KBookmarkManager?
-    // Dolphin uses some lists where an index is given and the corresponding bookmark
-    // should get retrieved...
-    KBookmark bookmark(int index) const;
+    GeneralSettings* generalSettings() const
+    {
+        return m_generalSettings;
+    }
+    IconsModeSettings* iconsModeSettings() const
+    {
+        return m_iconsModeSettings;
+    }
+    DetailsModeSettings* detailsModeSettings() const
+    {
+        return m_detailsModeSettings;
+    }
+    ColumnModeSettings* columnModeSettings() const
+    {
+        return m_columnModeSettings;
+    }
+    KFilePlacesModel* placesModel() const
+    {
+        return m_placesModel;
+    }
 
     /** @see DolphinSettingsBase::save */
     virtual void save();
 
-    /**
-     * TODO: just temporary until the port to KDE4 has been done
-     *
-     * Calculates the width and the height of the grid dependant from \a hint and
-     * the current settings. The hint gives information about the wanted text
-     * width, where a lower value indicates a smaller text width. Currently
-     * in Dolphin the values 0, 1 and 2 are used. See also
-     * DolhinIconsViewSettings::textWidthHint.
-     *
-     * The calculation of the grid width and grid height is a little bit tricky,
-     * as the user model does not fit to the implementation model of QIconView. The user model
-     * allows to specify icon-, preview- and text width sizes, whereas the implementation
-     * model expects only a grid width and height. The nasty thing is that the specified
-     * width and height varies dependant from the arrangement (e. g. the height is totally
-     * ignored for the top-to-bottom arrangement inside QIconView).
-     */
-    void calculateGridSize(int hint);
-
-    /**
-     * TODO: just temporary until the port to KDE4 has been done
-     *
-     * Returns the text width hint dependant from the given settings.
-     * A lower value indicates a smaller text width. Currently
-     * in Dolphin the values 0, 1 and 2 are used. The text width hint can
-     * be used later for DolphinIconsViewSettings::calculateGridSize().
-     */
-    int textWidthHint() const;
-
 protected:
     DolphinSettings();
     virtual ~DolphinSettings();
@@ -92,6 +76,8 @@ private:
     GeneralSettings* m_generalSettings;
     IconsModeSettings* m_iconsModeSettings;
     DetailsModeSettings* m_detailsModeSettings;
+    ColumnModeSettings* m_columnModeSettings;
+    KFilePlacesModel* m_placesModel;
 };
 
 #endif