diff options
author | hjk <hjk@theqtcompany.com> | 2015-06-18 16:50:42 +0200 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2015-06-18 15:36:31 +0000 |
commit | 2c5b4b9be3dc33181c027d645731424e05ba69e9 (patch) | |
tree | 190beb73c2706fbed8f51e971e3b92483b3f1e7c | |
parent | e7786048030cf09f5d925cdb2e52cdebe3a19f21 (diff) |
Analyzer: Merge AnalyzerAction::useStartupProject and ::toolStarter
Also rename ToolStarter to CustomToolStarter to make clearer
that this is not the normal startupProject based setup.
Change-Id: I6c538eed9280e0c02912954541423f030e88585f
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
-rw-r--r-- | src/plugins/analyzerbase/ianalyzertool.cpp | 16 | ||||
-rw-r--r-- | src/plugins/analyzerbase/ianalyzertool.h | 15 | ||||
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofilerplugin.cpp | 3 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindplugin.cpp | 6 |
4 files changed, 21 insertions, 19 deletions
diff --git a/src/plugins/analyzerbase/ianalyzertool.cpp b/src/plugins/analyzerbase/ianalyzertool.cpp index db72921079..4adb8e8eeb 100644 --- a/src/plugins/analyzerbase/ianalyzertool.cpp +++ b/src/plugins/analyzerbase/ianalyzertool.cpp @@ -59,12 +59,12 @@ using namespace ProjectExplorer; namespace Analyzer { AnalyzerAction::AnalyzerAction(QObject *parent) - : QAction(parent), m_useStartupProject(true), m_toolMode(AnyMode) + : QAction(parent), m_toolMode(AnyMode) {} bool AnalyzerAction::isRunnable(QString *reason) const { - if (m_toolStarter) // Something special. Pretend we can always run it. + if (m_customToolStarter) // Something special. Pretend we can always run it. return true; return ProjectExplorerPlugin::canRun(SessionManager::startupProject(), m_runMode, reason); @@ -72,7 +72,8 @@ bool AnalyzerAction::isRunnable(QString *reason) const AnalyzerRunControl *AnalyzerAction::tryCreateRunControl(const AnalyzerStartParameters &sp, RunConfiguration *runConfiguration) const { - if (m_runMode == sp.runMode && m_useStartupProject == sp.useStartupProject) + const bool useStartupProject = !m_customToolStarter; + if (m_runMode == sp.runMode && useStartupProject == sp.useStartupProject) return m_runControlCreator(sp, runConfiguration); return 0; } @@ -101,8 +102,8 @@ void AnalyzerAction::startTool() return; // Custom start. - if (m_toolStarter) { - m_toolStarter(); + if (m_customToolStarter) { + m_customToolStarter(); return; } @@ -155,4 +156,9 @@ void AnalyzerAction::startTool() ProjectExplorerPlugin::runStartupProject(m_runMode); } +void AnalyzerAction::setCustomToolStarter(const AnalyzerAction::ToolStarter &toolStarter) +{ + m_customToolStarter = toolStarter; +} + } // namespace Analyzer diff --git a/src/plugins/analyzerbase/ianalyzertool.h b/src/plugins/analyzerbase/ianalyzertool.h index 84b478ad0b..0ff7396c25 100644 --- a/src/plugins/analyzerbase/ianalyzertool.h +++ b/src/plugins/analyzerbase/ianalyzertool.h @@ -76,8 +76,6 @@ public: explicit AnalyzerAction(QObject *parent = 0); public: - void setUseSpecialStart() { m_useStartupProject = false; } - Core::Id menuGroup() const { return m_menuGroup; } void setMenuGroup(Core::Id menuGroup) { m_menuGroup = menuGroup; } @@ -106,16 +104,17 @@ public: ProjectExplorer::RunConfiguration *runConfiguration) const; void setRunControlCreator(const RunControlCreator &creator) { m_runControlCreator = creator; } - typedef std::function<void()> ToolStarter; - void startTool(); - void setToolStarter(const ToolStarter &toolStarter) { m_toolStarter = toolStarter; } - typedef std::function<bool()> ToolPreparer; ToolPreparer toolPreparer() const { return m_toolPreparer; } void setToolPreparer(const ToolPreparer &toolPreparer) { m_toolPreparer = toolPreparer; } + void startTool(); + + /// This is only used for setups not using the startup project. + typedef std::function<void()> ToolStarter; + void setCustomToolStarter(const ToolStarter &toolStarter); + protected: - bool m_useStartupProject; Core::Id m_menuGroup; Core::Id m_actionId; Core::Id m_toolId; @@ -123,7 +122,7 @@ protected: ProjectExplorer::RunMode m_runMode; WidgetCreator m_widgetCreator; RunControlCreator m_runControlCreator; - ToolStarter m_toolStarter; + ToolStarter m_customToolStarter; ToolPreparer m_toolPreparer; }; diff --git a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp index 415c86e2da..283e1f3b83 100644 --- a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp @@ -82,12 +82,11 @@ bool QmlProfilerPlugin::initialize(const QStringList &arguments, QString *errorS action->setToolId(QmlProfilerToolId); action->setWidgetCreator(widgetCreator); action->setRunControlCreator(runControlCreator); - action->setToolStarter([tool] { tool->startRemoteTool(); }); + action->setCustomToolStarter([tool] { tool->startRemoteTool(); }); action->setToolPreparer([tool] { return tool->prepareTool(); }); action->setRunMode(ProjectExplorer::QmlProfilerRunMode); action->setText(tr("QML Profiler (External)")); action->setToolTip(description); - action->setUseSpecialStart(); action->setMenuGroup(Constants::G_ANALYZER_REMOTE_TOOLS); AnalyzerManager::addAction(action); diff --git a/src/plugins/valgrind/valgrindplugin.cpp b/src/plugins/valgrind/valgrindplugin.cpp index 150b4f8630..cb77387136 100644 --- a/src/plugins/valgrind/valgrindplugin.cpp +++ b/src/plugins/valgrind/valgrindplugin.cpp @@ -213,12 +213,11 @@ void ValgrindPlugin::extensionsInitialized() action->setToolId("Memcheck"); action->setWidgetCreator(mcWidgetCreator); action->setRunControlCreator(mcRunControlCreator); - action->setToolStarter([] { customStart(MemcheckRunMode); }); + action->setCustomToolStarter([] { customStart(MemcheckRunMode); }); action->setRunMode(MemcheckRunMode); action->setText(tr("Valgrind Memory Analyzer (External Remote Application)")); action->setToolTip(memcheckToolTip); action->setMenuGroup(Analyzer::Constants::G_ANALYZER_REMOTE_TOOLS); - action->setUseSpecialStart(); AnalyzerManager::addAction(action); action = new AnalyzerAction(this); @@ -226,12 +225,11 @@ void ValgrindPlugin::extensionsInitialized() action->setToolId(CallgrindToolId); action->setWidgetCreator(cgWidgetCreator); action->setRunControlCreator(cgRunControlCreator); - action->setToolStarter([] { customStart(CallgrindRunMode); }); + action->setCustomToolStarter([] { customStart(CallgrindRunMode); }); action->setRunMode(CallgrindRunMode); action->setText(tr("Valgrind Function Profiler (External Remote Application)")); action->setToolTip(callgrindToolTip); action->setMenuGroup(Analyzer::Constants::G_ANALYZER_REMOTE_TOOLS); - action->setUseSpecialStart(); AnalyzerManager::addAction(action); // If there is a CppEditor context menu add our own context menu actions. |