diff options
author | hjk <hjk121@nokiamail.com> | 2013-08-05 18:00:36 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2013-08-06 16:14:54 +0200 |
commit | 0d2ef9fca2f0801fc4168a5fedab528640c87e13 (patch) | |
tree | ec1171f8ed3507e826cc12cafcd4cdab9a4cd2e1 /src | |
parent | d95ae65c62e651715c89eed4d12b76eba26d7b58 (diff) | |
download | qt-creator-0d2ef9fca2f0801fc4168a5fedab528640c87e13.tar.gz |
Analyzer: Inline Setting::registerTool into its only user
Change-Id: I10f57785bd26a15aef6fe72f26e7bf28a3a8d31f
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/analyzerbase/analyzermanager.cpp | 1 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzersettings.cpp | 11 | ||||
-rw-r--r-- | src/plugins/analyzerbase/analyzersettings.h | 2 | ||||
-rw-r--r-- | src/plugins/analyzerbase/ianalyzertool.cpp | 5 | ||||
-rw-r--r-- | src/plugins/analyzerbase/ianalyzertool.h | 3 | ||||
-rw-r--r-- | src/plugins/valgrind/callgrindtool.cpp | 25 | ||||
-rw-r--r-- | src/plugins/valgrind/memchecktool.cpp | 5 | ||||
-rw-r--r-- | src/plugins/valgrind/memchecktool.h | 1 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindplugin.cpp | 12 |
9 files changed, 30 insertions, 35 deletions
diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index a71196a962..686bb000af 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -667,7 +667,6 @@ void AnalyzerManager::shutdown() void AnalyzerManager::addTool(IAnalyzerTool *tool, const StartModes &modes) { m_instance->d->addTool(tool, modes); - AnalyzerGlobalSettings::instance()->registerTool(tool); } QDockWidget *AnalyzerManager::createDockWidget(IAnalyzerTool *tool, const QString &title, diff --git a/src/plugins/analyzerbase/analyzersettings.cpp b/src/plugins/analyzerbase/analyzersettings.cpp index 6ce78412f8..e481edc36e 100644 --- a/src/plugins/analyzerbase/analyzersettings.cpp +++ b/src/plugins/analyzerbase/analyzersettings.cpp @@ -143,14 +143,11 @@ void AnalyzerGlobalSettings::writeSettings() const settings->endGroup(); } -void AnalyzerGlobalSettings::registerTool(IAnalyzerTool *tool) +void AnalyzerGlobalSettings::registerConfig(AbstractAnalyzerSubConfig *config) { - AbstractAnalyzerSubConfig *config = tool->createGlobalSettings(); - if (config) { - m_subConfigs.append(config); - AnalyzerPlugin::instance()->addAutoReleasedObject(new AnalyzerOptionsPage(config)); - readSettings(); - } + instance()->m_subConfigs.append(config); + AnalyzerPlugin::instance()->addAutoReleasedObject(new AnalyzerOptionsPage(config)); + m_instance->readSettings(); } diff --git a/src/plugins/analyzerbase/analyzersettings.h b/src/plugins/analyzerbase/analyzersettings.h index 328b0dc335..3bbd8c18e5 100644 --- a/src/plugins/analyzerbase/analyzersettings.h +++ b/src/plugins/analyzerbase/analyzersettings.h @@ -142,7 +142,7 @@ public: void writeSettings() const; void readSettings(); - void registerTool(IAnalyzerTool *tool); + static void registerConfig(AbstractAnalyzerSubConfig *config); private: AnalyzerGlobalSettings(QObject *parent); diff --git a/src/plugins/analyzerbase/ianalyzertool.cpp b/src/plugins/analyzerbase/ianalyzertool.cpp index 57a7f0379e..a982c2ae54 100644 --- a/src/plugins/analyzerbase/ianalyzertool.cpp +++ b/src/plugins/analyzerbase/ianalyzertool.cpp @@ -60,11 +60,6 @@ IAnalyzerTool::IAnalyzerTool(QObject *parent) : QObject(parent) {} -AbstractAnalyzerSubConfig *IAnalyzerTool::createGlobalSettings() -{ - return 0; -} - AbstractAnalyzerSubConfig *IAnalyzerTool::createProjectSettings() { return 0; diff --git a/src/plugins/analyzerbase/ianalyzertool.h b/src/plugins/analyzerbase/ianalyzertool.h index b815665970..465434c82d 100644 --- a/src/plugins/analyzerbase/ianalyzertool.h +++ b/src/plugins/analyzerbase/ianalyzertool.h @@ -114,9 +114,6 @@ public: /// Called when tools gets deselected. virtual void toolDeselected() const {} - /// Factory method to create the global tool setting - virtual AbstractAnalyzerSubConfig *createGlobalSettings(); - /// Factory method to create the project tool setting virtual AbstractAnalyzerSubConfig *createProjectSettings(); }; diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index 85ef8d36c0..1a30eaedf9 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -210,10 +210,15 @@ public: QAction *m_showCostsOfFunctionAction; QString m_toggleCollectFunction; - ValgrindGlobalSettings *m_settings; // Not owned }; +static ValgrindGlobalSettings *globalSettings() +{ + return AnalyzerGlobalSettings::instance()->subConfig<ValgrindGlobalSettings>(); +} + + CallgrindToolPrivate::CallgrindToolPrivate(CallgrindTool *parent) : q(parent) , m_dataModel(new DataModel(this)) @@ -238,7 +243,6 @@ CallgrindToolPrivate::CallgrindToolPrivate(CallgrindTool *parent) , m_resetAction(0) , m_pauseAction(0) , m_showCostsOfFunctionAction(0) - , m_settings(0) { m_updateTimer->setInterval(200); m_updateTimer->setSingleShot(true); @@ -249,8 +253,6 @@ CallgrindToolPrivate::CallgrindToolPrivate(CallgrindTool *parent) m_proxyModel->setFilterKeyColumn(DataModel::NameColumn); m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); - m_settings = AnalyzerGlobalSettings::instance()->subConfig<ValgrindGlobalSettings>(); - connect(m_stackBrowser, SIGNAL(currentChanged()), SLOT(stackBrowserChanged())); connect(m_updateTimer, SIGNAL(timeout()), SLOT(updateFilterString())); } @@ -397,8 +399,8 @@ void CallgrindToolPrivate::updateCostFormat() m_calleesView->setCostFormat(format); m_callersView->setCostFormat(format); } - if (m_settings) - m_settings->setCostFormat(format); + if (ValgrindGlobalSettings *settings = globalSettings()) + settings->setCostFormat(format); } void CallgrindToolPrivate::handleFilterProjectCosts() @@ -798,13 +800,16 @@ QWidget *CallgrindToolPrivate::createWidgets() layout->addWidget(button); } + + ValgrindGlobalSettings *settings = globalSettings(); + // cycle detection //action = new QAction(QLatin1String("Cycle Detection"), this); ///FIXME: icon action = new QAction(QLatin1String("O"), this); ///FIXME: icon action->setToolTip(tr("Enable cycle detection to properly handle recursive or circular function calls.")); action->setCheckable(true); connect(action, SIGNAL(toggled(bool)), m_dataModel, SLOT(enableCycleDetection(bool))); - connect(action, SIGNAL(toggled(bool)), m_settings, SLOT(setDetectCycles(bool))); + connect(action, SIGNAL(toggled(bool)), settings, SLOT(setDetectCycles(bool))); layout->addWidget(createToolButton(action)); m_cycleDetection = action; @@ -813,7 +818,7 @@ QWidget *CallgrindToolPrivate::createWidgets() action->setToolTip(tr("This removes template parameter lists when displaying function names.")); action->setCheckable(true); connect(action, SIGNAL(toggled(bool)), m_dataModel, SLOT(setShortenTemplates(bool))); - connect(action, SIGNAL(toggled(bool)), m_settings, SLOT(setShortenTemplates(bool))); + connect(action, SIGNAL(toggled(bool)), settings, SLOT(setShortenTemplates(bool))); layout->addWidget(createToolButton(action)); m_shortenTemplates = action; @@ -834,8 +839,8 @@ QWidget *CallgrindToolPrivate::createWidgets() layout->addWidget(filter); m_searchFilter = filter; - setCostFormat(m_settings->costFormat()); - enableCycleDetection(m_settings->detectCycles()); + setCostFormat(settings->costFormat()); + enableCycleDetection(settings->detectCycles()); layout->addWidget(new Utils::StyledSeparator); layout->addStretch(); diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index 323d8eaf4f..2eb42de864 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -297,11 +297,6 @@ QString MemcheckTool::description() const "memory leaks"); } -AbstractAnalyzerSubConfig *MemcheckTool::createGlobalSettings() -{ - return new ValgrindGlobalSettings(); -} - AbstractAnalyzerSubConfig *MemcheckTool::createProjectSettings() { return new ValgrindProjectSettings(); diff --git a/src/plugins/valgrind/memchecktool.h b/src/plugins/valgrind/memchecktool.h index 6934465969..5560f6c31c 100644 --- a/src/plugins/valgrind/memchecktool.h +++ b/src/plugins/valgrind/memchecktool.h @@ -90,7 +90,6 @@ public: QString description() const; // Create the valgrind settings (for all valgrind tools) - Analyzer::AbstractAnalyzerSubConfig *createGlobalSettings(); Analyzer::AbstractAnalyzerSubConfig *createProjectSettings(); private slots: diff --git a/src/plugins/valgrind/valgrindplugin.cpp b/src/plugins/valgrind/valgrindplugin.cpp index f62d963eca..07e89087f2 100644 --- a/src/plugins/valgrind/valgrindplugin.cpp +++ b/src/plugins/valgrind/valgrindplugin.cpp @@ -35,6 +35,10 @@ #include "valgrindruncontrolfactory.h" #include <analyzerbase/analyzermanager.h> +#include <analyzerbase/analyzersettings.h> + +#include <valgrind/valgrindsettings.h> + #include <utils/hostosinfo.h> #include <QtPlugin> @@ -46,13 +50,17 @@ namespace Internal { bool ValgrindPlugin::initialize(const QStringList &, QString *) { + AnalyzerGlobalSettings::registerConfig(new ValgrindGlobalSettings()); + StartModes modes; if (!Utils::HostOsInfo::isWindowsHost()) modes.append(StartMode(StartLocal)); modes.append(StartMode(StartRemote)); - AnalyzerManager::addTool(new MemcheckTool(this), modes); - AnalyzerManager::addTool(new CallgrindTool(this), modes); + IAnalyzerTool *memcheckTool = new MemcheckTool(this); + IAnalyzerTool *callgrindTool = new CallgrindTool(this); + AnalyzerManager::addTool(memcheckTool, modes); + AnalyzerManager::addTool(callgrindTool, modes); addAutoReleasedObject(new ValgrindRunControlFactory()); |