X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e1816544942d72f5228555adcd13a4ada0a712ed..148282e2d856b47ceb191eeef4c834118c8cdffd:/src/dolphinsettings.cpp diff --git a/src/dolphinsettings.cpp b/src/dolphinsettings.cpp index 1b7bd9d59..5b91001ef 100644 --- a/src/dolphinsettings.cpp +++ b/src/dolphinsettings.cpp @@ -20,55 +20,26 @@ #include "dolphinsettings.h" -#include -#include - -#include -#include +#include #include -#include -#include #include #include -#include "generalsettings.h" -#include "iconsmodesettings.h" -#include "detailsmodesettings.h" - -#include +#include "dolphin_columnmodesettings.h" +#include "dolphin_detailsmodesettings.h" +#include "dolphin_generalsettings.h" +#include "dolphin_iconsmodesettings.h" -DolphinSettings& DolphinSettings::instance() +class DolphinSettingsSingleton { - static DolphinSettings* instance = 0; - if (instance == 0) { - instance = new DolphinSettings(); - } - return *instance; -} - -KBookmark DolphinSettings::bookmark(int index) const -{ - int i = 0; - KBookmarkGroup root = bookmarkManager()->root(); - KBookmark bookmark = root.first(); - while (!bookmark.isNull()) { - if (i == index) { - return bookmark; - } - ++i; - bookmark = root.next(bookmark); - } - - return KBookmark(); -} +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() @@ -76,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() @@ -90,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() @@ -102,4 +69,10 @@ DolphinSettings::~DolphinSettings() delete m_detailsModeSettings; m_detailsModeSettings = 0; + + delete m_columnModeSettings; + m_columnModeSettings = 0; + + delete m_placesModel; + m_placesModel = 0; }