]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinsettings.cpp
There are some extractable strings in subdirs too.
[dolphin.git] / src / dolphinsettings.cpp
index 3d187d40d3d64c0da0837cd830fbbc5539bee8f0..5b91001eff8af499b675cc901076298800b12b17 100644 (file)
 
 #include "dolphinsettings.h"
 
-#include <kbookmark.h>
-#include <kbookmarkmanager.h>
+#include <kfileplacesmodel.h>
 #include <kcomponentdata.h>
 #include <klocale.h>
 #include <kstandarddirs.h>
 
+#include "dolphin_columnmodesettings.h"
+#include "dolphin_detailsmodesettings.h"
 #include "dolphin_generalsettings.h"
 #include "dolphin_iconsmodesettings.h"
-#include "dolphin_detailsmodesettings.h"
 
-DolphinSettings& DolphinSettings::instance()
+class DolphinSettingsSingleton
 {
-    static DolphinSettings* instance = 0;
-    if (instance == 0) {
-        instance = new DolphinSettings();
-    }
-    return *instance;
-}
-
-KBookmark DolphinSettings::bookmark(int index) const
-{
-    return bookmarkManager()->findByAddress( QString('/')+QString::number(index) );
-}
+public:
+    DolphinSettings instance;
+};
+K_GLOBAL_STATIC(DolphinSettingsSingleton, s_settings)
 
-KBookmarkManager* DolphinSettings::bookmarkManager() const
+DolphinSettings& DolphinSettings::instance()
 {
-    QString basePath = KGlobal::mainComponent().componentName();
-    basePath.append("/bookmarks.xml");
-    const QString file = KStandardDirs::locateLocal("data", basePath);
-
-    return KBookmarkManager::managerForFile(file, "dolphin", false);
+    return s_settings->instance;
 }
 
 void DolphinSettings::save()
@@ -58,13 +47,7 @@ void DolphinSettings::save()
     m_generalSettings->writeConfig();
     m_iconsModeSettings->writeConfig();
     m_detailsModeSettings->writeConfig();
-
-    QString basePath = KGlobal::mainComponent().componentName();
-    basePath.append("/bookmarks.xml");
-    const QString file = KStandardDirs::locateLocal( "data", basePath);
-
-    KBookmarkManager* manager = KBookmarkManager::managerForFile(file, "dolphin", false);
-    manager->save(false);
+    m_columnModeSettings->writeConfig();
 }
 
 DolphinSettings::DolphinSettings()
@@ -72,6 +55,8 @@ DolphinSettings::DolphinSettings()
     m_generalSettings = new GeneralSettings();
     m_iconsModeSettings = new IconsModeSettings();
     m_detailsModeSettings = new DetailsModeSettings();
+    m_columnModeSettings = new ColumnModeSettings();
+    m_placesModel = new KFilePlacesModel();
 }
 
 DolphinSettings::~DolphinSettings()
@@ -84,4 +69,10 @@ DolphinSettings::~DolphinSettings()
 
     delete m_detailsModeSettings;
     m_detailsModeSettings = 0;
+
+    delete m_columnModeSettings;
+    m_columnModeSettings = 0;
+
+    delete m_placesModel;
+    m_placesModel = 0;
 }