From 9d707ac63c86574c4c505c7640b76c06225f67e1 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 18 Feb 2015 16:43:01 +0100 Subject: [PATCH] Analyzers: Various cleanups Fallout after the demise of IAnalizerTool. Change-Id: I68f936ed5f2929dc4f09a408bdf6b0ea38e568ef Reviewed-by: Christian Stenger --- src/plugins/analyzerbase/analyzermanager.cpp | 26 +++++++------------ src/plugins/analyzerbase/analyzermanager.h | 2 +- src/plugins/qmlprofiler/qmlprofilerplugin.cpp | 4 +-- src/plugins/qmlprofiler/qmlprofilertool.cpp | 2 +- src/plugins/qmlprofiler/qmlprofilertool.h | 2 ++ src/plugins/valgrind/callgrindtool.cpp | 2 +- src/plugins/valgrind/callgrindtool.h | 2 ++ src/plugins/valgrind/valgrindplugin.cpp | 4 +-- 8 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index ee3d7a96d72..ba79cfafc32 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -153,14 +153,9 @@ public: void handleToolFinished(); void saveToolSettings(Id toolId); void loadToolSettings(Id toolId); - - // Convenience. bool isActionRunnable(AnalyzerAction *action) const; - -public slots: void startTool(); void selectToolboxAction(int); - void selectMenuAction(); void modeChanged(IMode *mode); void resetLayout(); void updateRunActions(); @@ -472,15 +467,6 @@ void AnalyzerManagerPrivate::selectSavedTool() selectAction(m_actions.first()); } -void AnalyzerManagerPrivate::selectMenuAction() -{ - AnalyzerManager::showMode(); - AnalyzerAction *action = qobject_cast(sender()); - QTC_ASSERT(action, return); - selectAction(action); - startTool(); -} - void AnalyzerManagerPrivate::selectToolboxAction(int index) { selectAction(m_actions[index]); @@ -540,7 +526,13 @@ void AnalyzerManagerPrivate::addAction(AnalyzerAction *action) m_actions.append(action); m_toolBox->addItem(action->text()); m_toolBox->blockSignals(blocked); - connect(action, &QAction::triggered, this, &AnalyzerManagerPrivate::selectMenuAction); + + connect(action, &QAction::triggered, this, [this, action] { + AnalyzerManager::showMode(); + selectAction(action); + startTool(); + }); + m_toolBox->setEnabled(true); } @@ -643,10 +635,10 @@ QDockWidget *AnalyzerManager::createDockWidget(Core::Id toolId, return dockWidget; } -void AnalyzerManager::selectTool(Id toolId, StartMode mode) +void AnalyzerManager::selectTool(Id actionId) { foreach (AnalyzerAction *action, d->m_actions) - if (action->toolId() == toolId && action->startMode() == mode) + if (action->actionId() == actionId) d->selectAction(action); } diff --git a/src/plugins/analyzerbase/analyzermanager.h b/src/plugins/analyzerbase/analyzermanager.h index 8a5e44ede6c..f8360061dd0 100644 --- a/src/plugins/analyzerbase/analyzermanager.h +++ b/src/plugins/analyzerbase/analyzermanager.h @@ -76,7 +76,7 @@ public: static Utils::FancyMainWindow *mainWindow(); static void showMode(); - static void selectTool(Core::Id toolId, StartMode mode); + static void selectTool(Core::Id actionId); static void startTool(); static void stopTool(); diff --git a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp index 0bf642b64e7..277ba9abb2f 100644 --- a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp @@ -67,7 +67,7 @@ bool QmlProfilerPlugin::initialize(const QStringList &arguments, QString *errorS "applications using QML."); action = new AnalyzerAction(this); - action->setActionId("QmlProfiler.Local"); + action->setActionId(QmlProfilerLocalActionId); action->setToolId(QmlProfilerToolId); action->setWidgetCreator(widgetCreator); action->setRunControlCreator(runControlCreator); @@ -80,7 +80,7 @@ bool QmlProfilerPlugin::initialize(const QStringList &arguments, QString *errorS AnalyzerManager::addAction(action); action = new AnalyzerAction(this); - action->setActionId("QmlProfiler.Remote"); + action->setActionId(QmlProfilerRemoteActionId); action->setToolId(QmlProfilerToolId); action->setWidgetCreator(widgetCreator); action->setRunControlCreator(runControlCreator); diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index c4e82c86955..0f2f495dfa3 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -601,7 +601,7 @@ void QmlProfilerTool::showLoadDialog() if (ModeManager::currentMode()->id() != MODE_ANALYZE) AnalyzerManager::showMode(); - AnalyzerManager::selectTool("QmlProfiler", StartRemote); + AnalyzerManager::selectTool(QmlProfilerRemoteActionId); QString filename = QFileDialog::getOpenFileName(ICore::mainWindow(), tr("Load QML Trace"), QString(), tr("QML traces (*%1)").arg(QLatin1String(TraceFileExtension))); diff --git a/src/plugins/qmlprofiler/qmlprofilertool.h b/src/plugins/qmlprofiler/qmlprofilertool.h index 74c6b241741..8dfa2bdd8fe 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.h +++ b/src/plugins/qmlprofiler/qmlprofilertool.h @@ -43,6 +43,8 @@ namespace QmlProfiler { namespace Internal { const char QmlProfilerToolId[] = "QmlProfiler"; +const char QmlProfilerLocalActionId[] = "QmlProfiler.Local"; +const char QmlProfilerRemoteActionId[] = "QmlProfiler.Remote"; class QmlProfilerTool : public QObject { diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index f8b9931eeba..c32dfcf5c37 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -906,7 +906,7 @@ void CallgrindToolPrivate::handleShowCostsOfFunction() m_toggleCollectFunction = qualifiedFunctionName + QLatin1String("()"); - AnalyzerManager::selectTool(CallgrindToolId, StartLocal); + AnalyzerManager::selectTool(CallgrindLocalActionId); AnalyzerManager::startTool(); } diff --git a/src/plugins/valgrind/callgrindtool.h b/src/plugins/valgrind/callgrindtool.h index 809d0efe3c5..76398925bbf 100644 --- a/src/plugins/valgrind/callgrindtool.h +++ b/src/plugins/valgrind/callgrindtool.h @@ -37,6 +37,8 @@ namespace Valgrind { namespace Internal { const char CallgrindToolId[] = "Callgrind"; +const char CallgrindLocalActionId[] = "Callgrind.Local"; +const char CallgrindRemoteActionId[] = "Callgrind.Remote"; class CallgrindToolPrivate; diff --git a/src/plugins/valgrind/valgrindplugin.cpp b/src/plugins/valgrind/valgrindplugin.cpp index 7b0dfd0face..162ea77e0bb 100644 --- a/src/plugins/valgrind/valgrindplugin.cpp +++ b/src/plugins/valgrind/valgrindplugin.cpp @@ -178,7 +178,7 @@ bool ValgrindPlugin::initialize(const QStringList &, QString *) AnalyzerManager::addAction(action); action = new AnalyzerAction(this); - action->setActionId("Callgrind.Local"); + action->setActionId(CallgrindLocalActionId); action->setToolId(CallgrindToolId); action->setWidgetCreator(cgWidgetCreator); action->setRunControlCreator(cgRunControlCreator); @@ -206,7 +206,7 @@ bool ValgrindPlugin::initialize(const QStringList &, QString *) AnalyzerManager::addAction(action); action = new AnalyzerAction(this); - action->setActionId("Callgrind.Remote"); + action->setActionId(CallgrindRemoteActionId); action->setToolId(CallgrindToolId); action->setWidgetCreator(cgWidgetCreator); action->setRunControlCreator(cgRunControlCreator);