]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinsettings.h
prevent that the user can open more than one instance of the settings dialog
[dolphin.git] / src / dolphinsettings.h
index 296f943fc7a4b45f289324f1f5c7b5ca947379c9..55fa327ef83b304af261aac3713f576653b2f60d 100644 (file)
 
 #include <libdolphin_export.h>
 
-class KBookmark;
-class KBookmarkManager;
+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 LIBDOLPHIN_EXPORT 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;
-
-    /** @see DolphinSettingsBase::save */
+    GeneralSettings* generalSettings() const;
+    IconsModeSettings* iconsModeSettings() const;
+    DetailsModeSettings* detailsModeSettings() const;
+    ColumnModeSettings* columnModeSettings() const;
+    KFilePlacesModel* placesModel() const;
     virtual void save();
 
 protected:
     DolphinSettings();
     virtual ~DolphinSettings();
+    friend class DolphinSettingsSingleton;
 
 private:
     GeneralSettings* m_generalSettings;
     IconsModeSettings* m_iconsModeSettings;
     DetailsModeSettings* m_detailsModeSettings;
+    ColumnModeSettings* m_columnModeSettings;
+    KFilePlacesModel* m_placesModel;
 };
 
+inline GeneralSettings* DolphinSettings::generalSettings() const
+{
+    return m_generalSettings;
+}
+
+inline IconsModeSettings* DolphinSettings::iconsModeSettings() const
+{
+    return m_iconsModeSettings;
+}
+
+inline DetailsModeSettings* DolphinSettings::detailsModeSettings() const
+{
+    return m_detailsModeSettings;
+}
+
+inline ColumnModeSettings* DolphinSettings::columnModeSettings() const
+{
+    return m_columnModeSettings;
+}
+
+inline KFilePlacesModel* DolphinSettings::placesModel() const
+{
+    return m_placesModel;
+}
+
 #endif