diff options
| -rw-r--r-- | src/dolphinsettings.cpp | 13 | ||||
| -rw-r--r-- | src/dolphinsettings.h | 1 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/dolphinsettings.cpp b/src/dolphinsettings.cpp index 04284c22a..5b91001ef 100644 --- a/src/dolphinsettings.cpp +++ b/src/dolphinsettings.cpp @@ -30,13 +30,16 @@ #include "dolphin_generalsettings.h" #include "dolphin_iconsmodesettings.h" +class DolphinSettingsSingleton +{ +public: + DolphinSettings instance; +}; +K_GLOBAL_STATIC(DolphinSettingsSingleton, s_settings) + DolphinSettings& DolphinSettings::instance() { - static DolphinSettings* instance = 0; - if (instance == 0) { - instance = new DolphinSettings(); - } - return *instance; + return s_settings->instance; } void DolphinSettings::save() diff --git a/src/dolphinsettings.h b/src/dolphinsettings.h index dc1b0a840..71c2007f5 100644 --- a/src/dolphinsettings.h +++ b/src/dolphinsettings.h @@ -71,6 +71,7 @@ public: protected: DolphinSettings(); virtual ~DolphinSettings(); + friend class DolphinSettingsSingleton; private: GeneralSettings* m_generalSettings; |
