From b8eda86898ef336e1b21ec3d24273d214c5f7bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com> Date: Tue, 14 Jul 2009 13:33:24 +0200 Subject: [PATCH] Got rid of friend declaration to static template function Made the function a private member instead. Reviewed-by: ossi --- src/plugins/quickopen/quickopenplugin.cpp | 38 ++--------------------- src/plugins/quickopen/quickopenplugin.h | 35 +++++++++++++++++++-- 2 files changed, 34 insertions(+), 39 deletions(-) diff --git a/src/plugins/quickopen/quickopenplugin.cpp b/src/plugins/quickopen/quickopenplugin.cpp index b3f17669a5d..df5b300e649 100644 --- a/src/plugins/quickopen/quickopenplugin.cpp +++ b/src/plugins/quickopen/quickopenplugin.cpp @@ -34,7 +34,6 @@ #include "quickopentoolwindow.h" #include "opendocumentsfilter.h" #include "filesystemfilter.h" -#include "directoryfilter.h" #include "settingspage.h" #include <QtCore/QSettings> @@ -144,39 +143,6 @@ void QuickOpenPlugin::startSettingsLoad() connect(&m_loadWatcher, SIGNAL(finished()), this, SLOT(settingsLoaded())); } -namespace QuickOpen { -namespace Internal { - -template <typename S> -static void loadSettingsHelper(QuickOpenPlugin *p, S *settings) -{ - settings->beginGroup("QuickOpen"); - p->m_refreshTimer.setInterval(settings->value("RefreshInterval", 60).toInt() * 60000); - - foreach (IQuickOpenFilter *filter, p->m_filters) { - if (settings->contains(filter->name())) { - const QByteArray state = settings->value(filter->name()).toByteArray(); - if (!state.isEmpty()) - filter->restoreState(state); - } - } - settings->beginGroup("CustomFilters"); - QList<IQuickOpenFilter *> customFilters; - const QStringList keys = settings->childKeys(); - foreach (const QString &key, keys) { - IQuickOpenFilter *filter = new DirectoryFilter; - filter->restoreState(settings->value(key).toByteArray()); - p->m_filters.append(filter); - customFilters.append(filter); - } - p->setCustomFilters(customFilters); - settings->endGroup(); - settings->endGroup(); -} - -} // namespace Internal -} // namespace QuickOpen - void QuickOpenPlugin::loadSettings() { Core::ICore *core = Core::ICore::instance(); @@ -184,10 +150,10 @@ void QuickOpenPlugin::loadSettings() // Backwards compatibility to old settings location if (qs->contains("QuickOpen/FiltersFilter")) { - loadSettingsHelper(this, qs); + loadSettingsHelper(qs); } else { Core::SettingsDatabase *settings = core->settingsDatabase(); - loadSettingsHelper(this, settings); + loadSettingsHelper(settings); } qs->remove("QuickOpen"); diff --git a/src/plugins/quickopen/quickopenplugin.h b/src/plugins/quickopen/quickopenplugin.h index 415de84668a..a55776ebf50 100644 --- a/src/plugins/quickopen/quickopenplugin.h +++ b/src/plugins/quickopen/quickopenplugin.h @@ -31,6 +31,7 @@ #define QUICKOPENPLUGIN_H #include "iquickopenfilter.h" +#include "directoryfilter.h" #include <extensionsystem/iplugin.h> @@ -45,6 +46,7 @@ class QuickOpenToolWindow; class OpenDocumentsFilter; class FileSystemFilter; class SettingsPage; +class QuickOpenPlugin; class QuickOpenPlugin : public ExtensionSystem::IPlugin { @@ -76,6 +78,9 @@ private slots: private: void loadSettings(); + template <typename S> + void loadSettingsHelper(S *settings); + QuickOpenToolWindow *m_quickOpenToolWindow; SettingsPage *m_settingsPage; @@ -86,11 +91,35 @@ private: OpenDocumentsFilter *m_openDocumentsFilter; FileSystemFilter *m_fileSystemFilter; QFutureWatcher<void> m_loadWatcher; - - template <typename S> - friend static void loadSettingsHelper(QuickOpenPlugin *p, S *settings); }; +template <typename S> +void QuickOpenPlugin::loadSettingsHelper(S *settings) +{ + settings->beginGroup("QuickOpen"); + m_refreshTimer.setInterval(settings->value("RefreshInterval", 60).toInt() * 60000); + + foreach (IQuickOpenFilter *filter, m_filters) { + if (settings->contains(filter->name())) { + const QByteArray state = settings->value(filter->name()).toByteArray(); + if (!state.isEmpty()) + filter->restoreState(state); + } + } + settings->beginGroup("CustomFilters"); + QList<IQuickOpenFilter *> customFilters; + const QStringList keys = settings->childKeys(); + foreach (const QString &key, keys) { + IQuickOpenFilter *filter = new DirectoryFilter; + filter->restoreState(settings->value(key).toByteArray()); + m_filters.append(filter); + customFilters.append(filter); + } + setCustomFilters(customFilters); + settings->endGroup(); + settings->endGroup(); +} + } // namespace Internal } // namespace QuickOpen -- GitLab