From a6ff74c0d878c7d85ab11bbd63c7bb10639a62df Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Tue, 10 Jan 2012 19:17:24 +0100 Subject: [PATCH] ProjectExplorer: use enum instead of QString for run mode Change-Id: Ia906944a489b09afdea59f74afbf759b4caebe37 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com> Reviewed-by: Daniel Teske <daniel.teske@nokia.com> --- src/plugins/analyzerbase/analyzermanager.cpp | 10 ++--- src/plugins/analyzerbase/analyzermanager.h | 3 +- .../analyzerbase/analyzerruncontrol.cpp | 2 +- .../analyzerruncontrolfactory.cpp | 8 ++-- .../analyzerbase/analyzerruncontrolfactory.h | 5 ++- src/plugins/analyzerbase/ianalyzertool.h | 7 +++- src/plugins/debugger/debuggerconstants.h | 4 -- src/plugins/debugger/debuggerplugin.cpp | 22 +++++------ .../debugger/debuggerruncontrolfactory.h | 5 ++- src/plugins/debugger/debuggerrunner.cpp | 14 +++---- src/plugins/madde/maemorunconfiguration.cpp | 8 ++-- src/plugins/madde/maemorunconfiguration.h | 2 +- src/plugins/madde/maemorunfactories.cpp | 10 ++--- src/plugins/madde/maemorunfactories.h | 4 +- .../localapplicationruncontrol.cpp | 9 ++--- .../localapplicationruncontrol.h | 7 ++-- .../projectexplorer/projectexplorer.cpp | 38 +++++++++---------- src/plugins/projectexplorer/projectexplorer.h | 17 +++++---- .../projectexplorerconstants.h | 14 ++++++- .../projectexplorer/runconfiguration.cpp | 4 +- .../projectexplorer/runconfiguration.h | 11 +++--- .../qmlprofiler/codaqmlprofilerrunner.cpp | 2 +- src/plugins/qmlprofiler/qmlprofilertool.cpp | 17 +++++---- src/plugins/qmlprofiler/qmlprofilertool.h | 5 ++- .../remotelinuxqmlprofilerrunner.cpp | 5 +-- .../qmlprojectruncontrol.cpp | 16 ++++---- .../qmlprojectmanager/qmlprojectruncontrol.h | 7 ++-- .../qt-s60/codaruncontrol.cpp | 2 +- .../qt4projectmanager/qt-s60/codaruncontrol.h | 3 +- .../qt-s60/s60devicedebugruncontrol.cpp | 11 +++--- .../qt-s60/s60devicedebugruncontrol.h | 4 +- .../qt-s60/s60emulatorrunconfiguration.cpp | 2 +- .../qt-s60/s60emulatorrunconfiguration.h | 3 +- .../qt4projectmanager/qt-s60/s60manager.cpp | 21 +++++----- .../qt-s60/s60runcontrolbase.cpp | 7 ++-- .../qt-s60/s60runcontrolbase.h | 3 +- .../qt-s60/s60runcontrolfactory.cpp | 8 ++-- .../qt-s60/s60runcontrolfactory.h | 10 +++-- .../remotelinux/remotelinuxruncontrol.cpp | 2 +- .../remotelinuxruncontrolfactory.cpp | 13 +++---- .../remotelinuxruncontrolfactory.h | 5 ++- src/plugins/valgrind/callgrindtool.cpp | 5 +++ src/plugins/valgrind/callgrindtool.h | 1 + src/plugins/valgrind/memchecktool.cpp | 5 +++ src/plugins/valgrind/memchecktool.h | 1 + src/plugins/valgrind/valgrindplugin.cpp | 2 +- src/plugins/valgrind/valgrindtool.cpp | 7 ++-- src/plugins/valgrind/valgrindtool.h | 4 +- 48 files changed, 198 insertions(+), 177 deletions(-) diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index 017933538f4..bc5d58b9db2 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -560,7 +560,7 @@ void AnalyzerManagerPrivate::startLocalTool(IAnalyzerTool *tool) return; } - pe->runProject(pro, tool->id().toString()); + pe->runProject(pro, tool->runMode()); } bool AnalyzerManagerPrivate::isActionRunnable(QAction *action) const @@ -572,7 +572,7 @@ bool AnalyzerManagerPrivate::isActionRunnable(QAction *action) const IAnalyzerTool *tool = m_toolFromAction.value(action); ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); - return pe->canRun(pe->startupProject(), tool->id().toString()); + return pe->canRun(pe->startupProject(), tool->runMode()); } void AnalyzerManagerPrivate::startTool() @@ -761,7 +761,7 @@ void AnalyzerManagerPrivate::updateRunActions() else if (!m_currentTool) disabledReason = tr("No analyzer tool selected."); else - disabledReason = pe->cannotRunReason(project, m_currentTool->id().toString()); + disabledReason = pe->cannotRunReason(project, m_currentTool->runMode()); m_startAction->setEnabled(startEnabled); m_startAction->setToolTip(disabledReason); @@ -908,10 +908,10 @@ void AnalyzerManager::handleToolFinished() m_instance->d->handleToolFinished(); } -IAnalyzerTool *AnalyzerManager::toolFromId(const Core::Id &id) +IAnalyzerTool *AnalyzerManager::toolFromRunMode(RunMode runMode) { foreach (IAnalyzerTool *tool, m_instance->d->m_tools) - if (id.name().startsWith(tool->id().name())) + if (tool->runMode() == runMode) return tool; return 0; } diff --git a/src/plugins/analyzerbase/analyzermanager.h b/src/plugins/analyzerbase/analyzermanager.h index a7453568e63..7b515763fb2 100644 --- a/src/plugins/analyzerbase/analyzermanager.h +++ b/src/plugins/analyzerbase/analyzermanager.h @@ -38,6 +38,7 @@ #include "analyzerbase_global.h" #include "analyzerconstants.h" #include <coreplugin/id.h> +#include <projectexplorer/projectexplorerconstants.h> #include <QtCore/QObject> @@ -72,7 +73,7 @@ public: // Register a tool and initialize it. static void addTool(IAnalyzerTool *tool, const StartModes &mode); - static IAnalyzerTool *toolFromId(const Core::Id &id); + static IAnalyzerTool *toolFromRunMode(ProjectExplorer::RunMode runMode); // Dockwidgets are registered to the main window. static QDockWidget *createDockWidget(IAnalyzerTool *tool, const QString &title, diff --git a/src/plugins/analyzerbase/analyzerruncontrol.cpp b/src/plugins/analyzerbase/analyzerruncontrol.cpp index bcce06acadd..bdb19faf054 100644 --- a/src/plugins/analyzerbase/analyzerruncontrol.cpp +++ b/src/plugins/analyzerbase/analyzerruncontrol.cpp @@ -80,7 +80,7 @@ AnalyzerRunControl::Private::Private() AnalyzerRunControl::AnalyzerRunControl(IAnalyzerTool *tool, const AnalyzerStartParameters &sp, RunConfiguration *runConfiguration) - : RunControl(runConfiguration, tool->id().toString()), + : RunControl(runConfiguration, tool->runMode()), d(new Private) { d->m_engine = tool->createEngine(sp, runConfiguration); diff --git a/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp b/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp index c27140c165f..e887f4008e2 100644 --- a/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp +++ b/src/plugins/analyzerbase/analyzerruncontrolfactory.cpp @@ -60,17 +60,17 @@ QString AnalyzerRunControlFactory::displayName() const return tr("Analyzer"); } -bool AnalyzerRunControlFactory::canRun(RunConfiguration *runConfiguration, const QString &mode) const +bool AnalyzerRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mode) const { - IAnalyzerTool *tool = AnalyzerManager::toolFromId(Core::Id(mode)); + IAnalyzerTool *tool = AnalyzerManager::toolFromRunMode(mode); if (tool) return tool->canRun(runConfiguration, mode); return false; } -RunControl *AnalyzerRunControlFactory::create(RunConfiguration *runConfiguration, const QString &mode) +RunControl *AnalyzerRunControlFactory::create(RunConfiguration *runConfiguration, RunMode mode) { - IAnalyzerTool *tool = AnalyzerManager::toolFromId(Core::Id(mode)); + IAnalyzerTool *tool = AnalyzerManager::toolFromRunMode(mode); if (!tool) return 0; diff --git a/src/plugins/analyzerbase/analyzerruncontrolfactory.h b/src/plugins/analyzerbase/analyzerruncontrolfactory.h index 0c43027e68c..49514b0144d 100644 --- a/src/plugins/analyzerbase/analyzerruncontrolfactory.h +++ b/src/plugins/analyzerbase/analyzerruncontrolfactory.h @@ -49,8 +49,9 @@ public: // IRunControlFactory implementation QString displayName() const; - bool canRun(RunConfiguration *runConfiguration, const QString &mode) const; - ProjectExplorer::RunControl *create(RunConfiguration *runConfiguration, const QString &mode); + bool canRun(RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode) const; + ProjectExplorer::RunControl *create(RunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode); ProjectExplorer::IRunConfigurationAspect *createRunConfigurationAspect(); ProjectExplorer::RunConfigWidget *createConfigurationWidget(RunConfiguration *runConfiguration); diff --git a/src/plugins/analyzerbase/ianalyzertool.h b/src/plugins/analyzerbase/ianalyzertool.h index 5f696546081..75bff2a3112 100644 --- a/src/plugins/analyzerbase/ianalyzertool.h +++ b/src/plugins/analyzerbase/ianalyzertool.h @@ -40,6 +40,7 @@ #include "analyzerstartparameters.h" #include <coreplugin/id.h> +#include <projectexplorer/projectexplorerconstants.h> #include <QtCore/QObject> @@ -76,6 +77,8 @@ public: /// Returns a unique ID for this tool. virtual Core::Id id() const = 0; + /// Returns the run mode for this tool. + virtual ProjectExplorer::RunMode runMode() const = 0; /// Returns a short user readable display name for this tool. virtual QString displayName() const = 0; /// Returns a user readable description name for this tool. @@ -124,12 +127,12 @@ public: /// Returns true if the tool can be run virtual bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode) const = 0; + ProjectExplorer::RunMode mode) const = 0; /// Create the start parameters for the run control factory virtual AnalyzerStartParameters createStartParameters( ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode) const = 0; + ProjectExplorer::RunMode mode) const = 0; virtual void startTool(StartMode mode) = 0; diff --git a/src/plugins/debugger/debuggerconstants.h b/src/plugins/debugger/debuggerconstants.h index 0a8063a4447..ad1eb9c05d9 100644 --- a/src/plugins/debugger/debuggerconstants.h +++ b/src/plugins/debugger/debuggerconstants.h @@ -52,10 +52,6 @@ const char G_MANUAL_REMOTE[] = "Debugger.Group.Manual.Remote"; const char G_AUTOMATIC_REMOTE[] = "Debugger.Group.Automatic.Remote"; const char G_START_QML[] = "Debugger.Group.Start.Qml"; -// Project Explorer run mode (RUN/DEBUG) -const char DEBUGMODE[] = "Debugger.DebugMode"; -const char DEBUGMODE2[] = "Debugger.DebugMode2"; // Breaks on main. - // Common actions (accessed by QML inspector) const char INTERRUPT[] = "Debugger.Interrupt"; const char CONTINUE[] = "Debugger.Continue"; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 5e6d598d7b5..45b80d0e5a9 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1427,21 +1427,21 @@ void DebuggerPluginPrivate::debugProject() { ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); if (Project *pro = pe->startupProject()) - pe->runProject(pro, QLatin1String(Constants::DEBUGMODE)); + pe->runProject(pro, DebugRunMode); } void DebuggerPluginPrivate::debugProjectWithoutDeploy() { ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); if (Project *pro = pe->startupProject()) - pe->runProject(pro, QLatin1String(Constants::DEBUGMODE), true); + pe->runProject(pro, DebugRunMode, true); } void DebuggerPluginPrivate::debugProjectBreakMain() { ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); if (Project *pro = pe->startupProject()) - pe->runProject(pro, QLatin1String(Constants::DEBUGMODE2)); + pe->runProject(pro, DebugRunModeWithBreakOnMain); } void DebuggerPluginPrivate::startExternalApplication() @@ -2048,7 +2048,7 @@ void DebuggerPluginPrivate::displayDebugger(DebuggerEngine *engine, bool updateE void DebuggerPluginPrivate::startDebugger(RunControl *rc) { QTC_ASSERT(rc, return); - ProjectExplorerPlugin::instance()->startRunControl(rc, QLatin1String(Constants::DEBUGMODE)); + ProjectExplorerPlugin::instance()->startRunControl(rc, DebugRunMode); } @@ -2377,16 +2377,14 @@ void DebuggerPluginPrivate::updateDebugActions() ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); Project *project = pe->startupProject(); - const QString debugMode = _(Constants::DEBUGMODE); - const bool canRun = pe->canRun(project, debugMode); + const bool canRun = pe->canRun(project, DebugRunMode); m_startAction->setEnabled(canRun); - m_startAction->setToolTip(canRun ? QString() : pe->cannotRunReason(project, debugMode)); + m_startAction->setToolTip(canRun ? QString() : pe->cannotRunReason(project, DebugRunMode)); m_debugWithoutDeployAction->setEnabled(canRun); // Step into/next: Start and break at 'main' unless a debugger is running. if (m_snapshotHandler->currentIndex() < 0) { - const QString debugMode2 = _(Constants::DEBUGMODE2); - const bool canRunAndBreakMain = pe->canRun(project, debugMode2); + const bool canRunAndBreakMain = pe->canRun(project, DebugRunModeWithBreakOnMain); m_stepAction->setEnabled(canRunAndBreakMain); m_nextAction->setEnabled(canRunAndBreakMain); QString toolTip; @@ -2395,10 +2393,10 @@ void DebuggerPluginPrivate::updateDebugActions() toolTip = tr("Start '%1' and break at function 'main()'") .arg(project->displayName()); } else { - // Do not display long tooltip saying 'debugMode2 is not supported - // for project' for projects to which 'break at main' is not applicable. + // Do not display long tooltip saying run mode is not supported + // for project for projects to which 'break at main' is not applicable. if (!canRun) - toolTip = pe->cannotRunReason(project, debugMode2); + toolTip = pe->cannotRunReason(project, DebugRunModeWithBreakOnMain); } m_stepAction->setToolTip(toolTip); m_nextAction->setToolTip(toolTip); diff --git a/src/plugins/debugger/debuggerruncontrolfactory.h b/src/plugins/debugger/debuggerruncontrolfactory.h index bc6b22ece8d..5eb6ff4e3f9 100644 --- a/src/plugins/debugger/debuggerruncontrolfactory.h +++ b/src/plugins/debugger/debuggerruncontrolfactory.h @@ -49,13 +49,14 @@ public: // FIXME: What to do in case of a 0 runConfiguration? typedef ProjectExplorer::RunConfiguration RunConfiguration; typedef ProjectExplorer::RunControl RunControl; + typedef ProjectExplorer::RunMode RunMode; DebuggerRunControl *create(const DebuggerStartParameters &sp, RunConfiguration *runConfiguration = 0); // ProjectExplorer::IRunControlFactory // FIXME: Used by qmljsinspector.cpp:469 - RunControl *create(RunConfiguration *runConfiguration, const QString &mode); - bool canRun(RunConfiguration *runConfiguration, const QString &mode) const; + RunControl *create(RunConfiguration *runConfiguration, RunMode mode); + bool canRun(RunConfiguration *runConfiguration, RunMode mode) const; static DebuggerEngine *createEngine(DebuggerEngineType et, const DebuggerStartParameters &sp, diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index a2a4bec8a3b..2fee8f9d174 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -185,7 +185,7 @@ DebuggerRunControlPrivate::DebuggerRunControlPrivate(DebuggerRunControl *parent, DebuggerRunControl::DebuggerRunControl(RunConfiguration *runConfiguration, const DebuggerStartParameters &sp, const QPair<DebuggerEngineType, DebuggerEngineType> &masterSlaveEngineTypes) - : RunControl(runConfiguration, QLatin1String(Constants::DEBUGMODE)), + : RunControl(runConfiguration, ProjectExplorer::DebugRunMode), d(new DebuggerRunControlPrivate(this, runConfiguration)) { connect(this, SIGNAL(finished()), SLOT(handleFinished())); @@ -667,10 +667,9 @@ DebuggerRunControlFactory::DebuggerRunControlFactory(QObject *parent, : IRunControlFactory(parent), m_enabledEngines(enabledEngines) {} -bool DebuggerRunControlFactory::canRun(RunConfiguration *runConfiguration, const QString &mode) const +bool DebuggerRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mode) const { - return (mode == QLatin1String(Constants::DEBUGMODE) - || mode == QLatin1String(Constants::DEBUGMODE2)) + return (mode == DebugRunMode || mode == DebugRunModeWithBreakOnMain) && qobject_cast<LocalApplicationRunConfiguration *>(runConfiguration); } @@ -782,14 +781,13 @@ static DebuggerStartParameters localStartParameters(RunConfiguration *runConfigu } RunControl *DebuggerRunControlFactory::create - (RunConfiguration *runConfiguration, const QString &mode) + (RunConfiguration *runConfiguration, RunMode mode) { - QTC_ASSERT(mode == QLatin1String(Constants::DEBUGMODE) - || mode == QLatin1String(Constants::DEBUGMODE2), return 0); + QTC_ASSERT(mode == DebugRunMode || mode == DebugRunModeWithBreakOnMain, return 0); DebuggerStartParameters sp = localStartParameters(runConfiguration); if (sp.startMode == NoStartMode) return 0; - if (mode == QLatin1String(Constants::DEBUGMODE2)) + if (mode == DebugRunModeWithBreakOnMain) sp.breakOnMain = true; return create(sp, runConfiguration); } diff --git a/src/plugins/madde/maemorunconfiguration.cpp b/src/plugins/madde/maemorunconfiguration.cpp index f588c4a3a3a..b5f7ec63016 100644 --- a/src/plugins/madde/maemorunconfiguration.cpp +++ b/src/plugins/madde/maemorunconfiguration.cpp @@ -87,7 +87,7 @@ bool MaemoRunConfiguration::isEnabled() const { if (!RemoteLinuxRunConfiguration::isEnabled()) return false; - if (!hasEnoughFreePorts(ProjectExplorer::Constants::RUNMODE)) { + if (!hasEnoughFreePorts(NormalRunMode)) { setDisabledReason(tr("Not enough free ports on the device.")); return false; } @@ -165,15 +165,15 @@ QString MaemoRunConfiguration::remoteProjectSourcesMountPoint() const + QFileInfo(localExecutableFilePath()).fileName(); } -bool MaemoRunConfiguration::hasEnoughFreePorts(const QString &mode) const +bool MaemoRunConfiguration::hasEnoughFreePorts(RunMode mode) const { const int freePortCount = freePorts().count(); const bool remoteMountsAllowed = maemoTarget()->allowsRemoteMounts(); const int mountDirCount = remoteMountsAllowed ? remoteMounts()->validMountSpecificationCount() : 0; - if (mode == Debugger::Constants::DEBUGMODE) + if (mode == DebugRunMode || mode == DebugRunModeWithBreakOnMain) return freePortCount >= mountDirCount + portsUsedByDebuggers(); - if (mode == ProjectExplorer::Constants::RUNMODE) + if (mode == NormalRunMode) return freePortCount >= mountDirCount; return false; } diff --git a/src/plugins/madde/maemorunconfiguration.h b/src/plugins/madde/maemorunconfiguration.h index e8699cf1928..6f1f2f0a7c3 100644 --- a/src/plugins/madde/maemorunconfiguration.h +++ b/src/plugins/madde/maemorunconfiguration.h @@ -55,7 +55,7 @@ public: RemoteLinux::PortList freePorts() const; Internal::MaemoRemoteMountsModel *remoteMounts() const { return m_remoteMounts; } - bool hasEnoughFreePorts(const QString &mode) const; + bool hasEnoughFreePorts(ProjectExplorer::RunMode mode) const; QString localDirToMountForRemoteGdb() const; QString remoteProjectSourcesMountPoint() const; diff --git a/src/plugins/madde/maemorunfactories.cpp b/src/plugins/madde/maemorunfactories.cpp index 5caca8e3238..9e3c78686c8 100644 --- a/src/plugins/madde/maemorunfactories.cpp +++ b/src/plugins/madde/maemorunfactories.cpp @@ -153,8 +153,7 @@ MaemoRunControlFactory::~MaemoRunControlFactory() { } -bool MaemoRunControlFactory::canRun(RunConfiguration *runConfiguration, - const QString &mode) const +bool MaemoRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mode) const { const MaemoRunConfiguration * const maemoRunConfig = qobject_cast<MaemoRunConfiguration *>(runConfiguration); @@ -163,16 +162,15 @@ bool MaemoRunControlFactory::canRun(RunConfiguration *runConfiguration, return maemoRunConfig->hasEnoughFreePorts(mode); } -RunControl* MaemoRunControlFactory::create(RunConfiguration *runConfig, - const QString &mode) +RunControl* MaemoRunControlFactory::create(RunConfiguration *runConfig, RunMode mode) { - Q_ASSERT(mode == ProjectExplorer::Constants::RUNMODE || mode == Debugger::Constants::DEBUGMODE); + Q_ASSERT(mode == NormalRunMode || mode == DebugRunMode); Q_ASSERT(canRun(runConfig, mode)); MaemoRunConfiguration *rc = qobject_cast<MaemoRunConfiguration *>(runConfig); Q_ASSERT(rc); - if (mode == ProjectExplorer::Constants::RUNMODE) + if (mode == NormalRunMode) return new MaemoRunControl(rc); const DebuggerStartParameters params diff --git a/src/plugins/madde/maemorunfactories.h b/src/plugins/madde/maemorunfactories.h index 9694a3a21b7..ac4c0affcae 100644 --- a/src/plugins/madde/maemorunfactories.h +++ b/src/plugins/madde/maemorunfactories.h @@ -80,8 +80,8 @@ public: QString displayName() const; RunConfigWidget *createConfigurationWidget(RunConfiguration *runConfiguration); - bool canRun(RunConfiguration *runConfiguration, const QString &mode) const; - RunControl *create(RunConfiguration *runConfiguration, const QString &mode); + bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode) const; + RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode); }; } // namespace Internal diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.cpp b/src/plugins/projectexplorer/localapplicationruncontrol.cpp index 731a5194e05..e78298326d5 100644 --- a/src/plugins/projectexplorer/localapplicationruncontrol.cpp +++ b/src/plugins/projectexplorer/localapplicationruncontrol.cpp @@ -53,10 +53,9 @@ LocalApplicationRunControlFactory::~LocalApplicationRunControlFactory() { } -bool LocalApplicationRunControlFactory::canRun(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) const +bool LocalApplicationRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mode) const { - return (mode == QLatin1String(ProjectExplorer::Constants::RUNMODE)) - && (qobject_cast<LocalApplicationRunConfiguration *>(runConfiguration) != 0); + return mode == NormalRunMode && qobject_cast<LocalApplicationRunConfiguration *>(runConfiguration); } QString LocalApplicationRunControlFactory::displayName() const @@ -64,7 +63,7 @@ QString LocalApplicationRunControlFactory::displayName() const return tr("Run"); } -RunControl *LocalApplicationRunControlFactory::create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) +RunControl *LocalApplicationRunControlFactory::create(RunConfiguration *runConfiguration, RunMode mode) { QTC_ASSERT(canRun(runConfiguration, mode), return 0); LocalApplicationRunConfiguration *localRunConfiguration = qobject_cast<LocalApplicationRunConfiguration *>(runConfiguration); @@ -82,7 +81,7 @@ RunConfigWidget *LocalApplicationRunControlFactory::createConfigurationWidget(Ru // ApplicationRunControl -LocalApplicationRunControl::LocalApplicationRunControl(LocalApplicationRunConfiguration *rc, QString mode) +LocalApplicationRunControl::LocalApplicationRunControl(LocalApplicationRunConfiguration *rc, RunMode mode) : RunControl(rc, mode) { Utils::Environment env = rc->environment(); diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.h b/src/plugins/projectexplorer/localapplicationruncontrol.h index 3d3a0bd99ff..8778f1f403a 100644 --- a/src/plugins/projectexplorer/localapplicationruncontrol.h +++ b/src/plugins/projectexplorer/localapplicationruncontrol.h @@ -35,6 +35,7 @@ #include "runconfiguration.h" #include "applicationlauncher.h" +#include "projectexplorerconstants.h" namespace ProjectExplorer { @@ -47,9 +48,9 @@ class LocalApplicationRunControlFactory : public IRunControlFactory public: LocalApplicationRunControlFactory (); virtual ~LocalApplicationRunControlFactory(); - virtual bool canRun(RunConfiguration *runConfiguration, const QString &mode) const; + virtual bool canRun(RunConfiguration *runConfiguration, RunMode mode) const; virtual QString displayName() const; - virtual RunControl* create(RunConfiguration *runConfiguration, const QString &mode); + virtual RunControl* create(RunConfiguration *runConfiguration, RunMode mode); virtual RunConfigWidget *createConfigurationWidget(RunConfiguration *runConfiguration); }; @@ -57,7 +58,7 @@ class LocalApplicationRunControl : public RunControl { Q_OBJECT public: - LocalApplicationRunControl(LocalApplicationRunConfiguration *runConfiguration, QString mode); + LocalApplicationRunControl(LocalApplicationRunConfiguration *runConfiguration, RunMode mode); virtual ~LocalApplicationRunControl(); virtual void start(); virtual StopResult stop(); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 751665d735f..1a5eacbc289 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -230,7 +230,7 @@ struct ProjectExplorerPluginPrivate { QString m_lastOpenDirectory; RunConfiguration *m_delayedRunConfiguration; // TODO this is not right - QString m_runMode; + RunMode m_runMode; QString m_projectFilterString; Internal::MiniProjectTargetSelector * m_targetSelector; Internal::ProjectExplorerSettings m_projectExplorerSettings; @@ -245,6 +245,7 @@ ProjectExplorerPluginPrivate::ProjectExplorerPluginPrivate() : m_currentProject(0), m_currentNode(0), m_delayedRunConfiguration(0), + m_runMode(NoRunMode), m_projectsMode(0), m_toolChainManager(0) { @@ -1548,7 +1549,7 @@ void ProjectExplorerPlugin::buildStateChanged(Project * pro) updateActions(); } -void ProjectExplorerPlugin::executeRunConfiguration(RunConfiguration *runConfiguration, const QString &runMode) +void ProjectExplorerPlugin::executeRunConfiguration(RunConfiguration *runConfiguration, RunMode runMode) { if (IRunControlFactory *runControlFactory = findRunControlFactory(runConfiguration, runMode)) { emit aboutToExecuteProject(runConfiguration->target()->project(), runMode); @@ -1560,10 +1561,10 @@ void ProjectExplorerPlugin::executeRunConfiguration(RunConfiguration *runConfigu } } -void ProjectExplorerPlugin::startRunControl(RunControl *runControl, const QString &runMode) +void ProjectExplorerPlugin::startRunControl(RunControl *runControl, RunMode runMode) { d->m_outputPane->createNewOutputWindow(runControl); - if (runMode == QLatin1String(ProjectExplorer::Constants::RUNMODE) && d->m_projectExplorerSettings.showRunOutput) + if (runMode == NormalRunMode && d->m_projectExplorerSettings.showRunOutput) d->m_outputPane->popup(false); d->m_outputPane->showTabFor(runControl); connect(runControl, SIGNAL(finished()), this, SLOT(runControlFinished())); @@ -1600,7 +1601,7 @@ void ProjectExplorerPlugin::buildQueueFinished(bool success) d->m_buildManager->showTaskWindow(); } d->m_delayedRunConfiguration = 0; - d->m_runMode.clear(); + d->m_runMode = NoRunMode; } void ProjectExplorerPlugin::setCurrent(Project *project, QString filePath, Node *node) @@ -1935,19 +1936,19 @@ void ProjectExplorerPlugin::cleanSession() void ProjectExplorerPlugin::runProject() { - runProject(startupProject(), QLatin1String(ProjectExplorer::Constants::RUNMODE)); + runProject(startupProject(), NormalRunMode); } void ProjectExplorerPlugin::runProjectWithoutDeploy() { - runProject(startupProject(), QLatin1String(ProjectExplorer::Constants::RUNMODE), true); + runProject(startupProject(), NormalRunMode, true); } void ProjectExplorerPlugin::runProjectContextMenu() { ProjectNode *projectNode = qobject_cast<ProjectNode*>(d->m_currentNode); if (projectNode == d->m_currentProject->rootProjectNode() || !projectNode) { - runProject(d->m_currentProject, QLatin1String(ProjectExplorer::Constants::RUNMODE)); + runProject(d->m_currentProject, NormalRunMode); } else { QAction *act = qobject_cast<QAction *>(sender()); if (!act) @@ -1955,7 +1956,7 @@ void ProjectExplorerPlugin::runProjectContextMenu() RunConfiguration *rc = act->data().value<RunConfiguration *>(); if (!rc) return; - runRunConfiguration(rc, QLatin1String(ProjectExplorer::Constants::RUNMODE)); + runRunConfiguration(rc, NormalRunMode); } } @@ -2059,7 +2060,7 @@ bool ProjectExplorerPlugin::hasDeploySettings(Project *pro) return false; } -void ProjectExplorerPlugin::runProject(Project *pro, const QString &mode, const bool forceSkipDeploy) +void ProjectExplorerPlugin::runProject(Project *pro, RunMode mode, const bool forceSkipDeploy) { if (!pro) return; @@ -2068,7 +2069,7 @@ void ProjectExplorerPlugin::runProject(Project *pro, const QString &mode, const } void ProjectExplorerPlugin::runRunConfiguration(ProjectExplorer::RunConfiguration *rc, - const QString &mode, + RunMode runMode, const bool forceSkipDeploy) { if (!rc->isEnabled()) @@ -2090,10 +2091,10 @@ void ProjectExplorerPlugin::runRunConfiguration(ProjectExplorer::RunConfiguratio if (queueCount > 0) { // delay running till after our queued steps were processed - d->m_runMode = mode; + d->m_runMode = runMode; d->m_delayedRunConfiguration = rc; } else { - executeRunConfiguration(rc, mode); + executeRunConfiguration(rc, runMode); } emit updateRunActions(); } @@ -2190,7 +2191,7 @@ void ProjectExplorerPlugin::activeRunConfigurationChanged() } // NBS TODO implement more than one runner -IRunControlFactory *ProjectExplorerPlugin::findRunControlFactory(RunConfiguration *config, const QString &mode) +IRunControlFactory *ProjectExplorerPlugin::findRunControlFactory(RunConfiguration *config, RunMode mode) { ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); const QList<IRunControlFactory *> factories = pm->getObjects<IRunControlFactory>(); @@ -2254,7 +2255,7 @@ void ProjectExplorerPlugin::updateDeployActions() emit updateRunActions(); } -bool ProjectExplorerPlugin::canRun(Project *project, const QString &runMode) +bool ProjectExplorerPlugin::canRun(Project *project, RunMode runMode) { if (!project || !project->activeTarget() || @@ -2277,7 +2278,7 @@ bool ProjectExplorerPlugin::canRun(Project *project, const QString &runMode) return (canRun && !building); } -QString ProjectExplorerPlugin::cannotRunReason(Project *project, const QString &runMode) +QString ProjectExplorerPlugin::cannotRunReason(Project *project, RunMode runMode) { if (!project) return tr("No active project"); @@ -2317,10 +2318,9 @@ QString ProjectExplorerPlugin::cannotRunReason(Project *project, const QString & void ProjectExplorerPlugin::slotUpdateRunActions() { Project *project = startupProject(); - const QString runMode = QLatin1String(ProjectExplorer::Constants::RUNMODE); - const bool state = canRun(project, runMode); + const bool state = canRun(project, NormalRunMode); d->m_runAction->setEnabled(state); - d->m_runAction->setToolTip(cannotRunReason(project, runMode)); + d->m_runAction->setToolTip(cannotRunReason(project, NormalRunMode)); d->m_runWithoutDeployAction->setEnabled(state); } diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index 672e29e2cde..faf9167e817 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -34,6 +34,7 @@ #define PROJECTEXPLORER_H #include "projectexplorer_export.h" +#include "projectexplorerconstants.h" #include <extensionsystem/iplugin.h> @@ -105,7 +106,7 @@ public: void setProjectExplorerSettings(const Internal::ProjectExplorerSettings &pes); Internal::ProjectExplorerSettings projectExplorerSettings() const; - void startRunControl(RunControl *runControl, const QString &mode); + void startRunControl(RunControl *runControl, RunMode runMode); // internal public for FlatModel void renameFile(Node *node, const QString &to); @@ -113,10 +114,10 @@ public: bool coreAboutToClose(); QList<QPair<QString, QString> > recentProjects(); - bool canRun(Project *pro, const QString &runMode); - QString cannotRunReason(Project *project, const QString &runMode); - void runProject(Project *pro, const QString &mode, const bool forceSkipDeploy = false); - void runRunConfiguration(ProjectExplorer::RunConfiguration *rc, const QString &mode, + bool canRun(Project *pro, RunMode runMode); + QString cannotRunReason(Project *project, RunMode runMode); + void runProject(Project *pro, RunMode, const bool forceSkipDeploy = false); + void runRunConfiguration(ProjectExplorer::RunConfiguration *rc, RunMode runMode, const bool forceSkipDeploy = false); void addExistingFiles(ProjectExplorer::ProjectNode *projectNode, const QStringList &filePaths); @@ -140,7 +141,7 @@ signals: void currentProjectChanged(ProjectExplorer::Project *project); void currentNodeChanged(ProjectExplorer::Node *node, ProjectExplorer::Project *project); - void aboutToExecuteProject(ProjectExplorer::Project *project, const QString &runMode); + void aboutToExecuteProject(ProjectExplorer::Project *project, RunMode runMode); void recentProjectsChanged(); void settingsChanged(); @@ -262,7 +263,7 @@ private: int queue(QList<Project *>, QStringList stepIds); void updateContextMenuActions(); bool parseArguments(const QStringList &arguments, QString *error); - void executeRunConfiguration(RunConfiguration *, const QString &mode); + void executeRunConfiguration(RunConfiguration *, RunMode mode); bool hasBuildSettings(Project *pro); QPair<bool, QString> buildSettingsEnabledForSession(); QPair<bool, QString> buildSettingsEnabled(Project *pro); @@ -271,7 +272,7 @@ private: void setCurrent(Project *project, QString filePath, Node *node); QStringList allFilesWithDependencies(Project *pro); - IRunControlFactory *findRunControlFactory(RunConfiguration *config, const QString &mode); + IRunControlFactory *findRunControlFactory(RunConfiguration *config, RunMode mode); void addToRecentProjects(const QString &fileName, const QString &displayName); diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index a43c8756c41..9657a94388c 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -88,8 +88,6 @@ const char SHOW_TASK_IN_EDITOR[] = "ProjectExplorer.ShowTaskInEditor"; const char VCS_ANNOTATE_TASK[] = "ProjectExplorer.VcsAnnotateTask"; const char SHOW_TASK_OUTPUT[] = "ProjectExplorer.ShowTaskOutput"; -// Run modes -const char RUNMODE[] = "ProjectExplorer.RunMode"; const char SELECTTARGET[] = "ProjectExplorer.SelectTarget"; const char SELECTTARGETQUICK[] = "ProjectExplorer.SelectTargetQuick"; @@ -224,6 +222,18 @@ const int QML_DEFAULT_DEBUG_SERVER_PORT = 3768; const char DEFAULT_WORKING_DIR[] = "%{buildDir}"; } // namespace Constants + +// Run modes +enum RunMode { + NoRunMode, + NormalRunMode, + DebugRunMode, + DebugRunModeWithBreakOnMain, + QmlProfilerRunMode, + CallgrindRunMode, + MemcheckRunMode +}; + } // namespace ProjectExplorer #endif // PROJECTEXPLORERCONSTANTS_H diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 338efbbd6ec..136caf9f222 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -504,7 +504,7 @@ IRunConfigurationAspect *IRunControlFactory::createRunConfigurationAspect() TODO the icon differs currently only per "mode", so this is more flexible then it needs to be. */ -RunControl::RunControl(RunConfiguration *runConfiguration, QString mode) +RunControl::RunControl(RunConfiguration *runConfiguration, RunMode mode) : m_runMode(mode), m_runConfiguration(runConfiguration), m_outputFormatter(0) { if (runConfiguration) { @@ -526,7 +526,7 @@ Utils::OutputFormatter *RunControl::outputFormatter() return m_outputFormatter; } -QString RunControl::runMode() const +RunMode RunControl::runMode() const { return m_runMode; } diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 7a4c91e588f..21e8e229e48 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -35,6 +35,7 @@ #include "projectconfiguration.h" #include "projectexplorer_export.h" +#include "projectexplorerconstants.h" #include <utils/outputformat.h> @@ -190,8 +191,8 @@ public: explicit IRunControlFactory(QObject *parent = 0); virtual ~IRunControlFactory(); - virtual bool canRun(RunConfiguration *runConfiguration, const QString &mode) const = 0; - virtual RunControl* create(RunConfiguration *runConfiguration, const QString &mode) = 0; + virtual bool canRun(RunConfiguration *runConfiguration, RunMode mode) const = 0; + virtual RunControl *create(RunConfiguration *runConfiguration, RunMode mode) = 0; virtual QString displayName() const = 0; @@ -223,7 +224,7 @@ public: AsynchronousStop // Stop sequence has been started }; - explicit RunControl(RunConfiguration *runConfiguration, QString mode); + RunControl(RunConfiguration *runConfiguration, RunMode mode); virtual ~RunControl(); virtual void start() = 0; @@ -240,7 +241,7 @@ public: bool sameRunConfiguration(const RunControl *other) const; Utils::OutputFormatter *outputFormatter(); - QString runMode() const; + RunMode runMode() const; public slots: void bringApplicationToForeground(qint64 pid); @@ -264,7 +265,7 @@ protected: private: QString m_displayName; - QString m_runMode; + RunMode m_runMode; const QWeakPointer<RunConfiguration> m_runConfiguration; Utils::OutputFormatter *m_outputFormatter; diff --git a/src/plugins/qmlprofiler/codaqmlprofilerrunner.cpp b/src/plugins/qmlprofiler/codaqmlprofilerrunner.cpp index 4372ec6abf7..243d1e17bab 100644 --- a/src/plugins/qmlprofiler/codaqmlprofilerrunner.cpp +++ b/src/plugins/qmlprofiler/codaqmlprofilerrunner.cpp @@ -49,7 +49,7 @@ CodaQmlProfilerRunner::CodaQmlProfilerRunner(S60DeviceRunConfiguration *configur QObject *parent) : AbstractQmlProfilerRunner(parent), m_configuration(configuration), - m_runControl(new CodaRunControl(configuration, Analyzer::Constants::MODE_ANALYZE)) + m_runControl(new CodaRunControl(configuration, QmlProfilerRunMode)) { connect(m_runControl, SIGNAL(finished()), this, SIGNAL(stopped())); connect(m_runControl, diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index 80fb530037b..5f22e8765eb 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -199,6 +199,11 @@ Core::Id QmlProfilerTool::id() const return "QmlProfiler"; } +RunMode QmlProfilerTool::runMode() const +{ + return QmlProfilerRunMode; +} + QString QmlProfilerTool::displayName() const { return tr("QML Profiler"); @@ -365,19 +370,17 @@ IAnalyzerEngine *QmlProfilerTool::createEngine(const AnalyzerStartParameters &sp return engine; } -bool QmlProfilerTool::canRun(RunConfiguration *runConfiguration, const QString &mode) const +bool QmlProfilerTool::canRun(RunConfiguration *runConfiguration, RunMode mode) const { - Q_UNUSED(mode); - if (qobject_cast<QmlProjectRunConfiguration *>(runConfiguration) || qobject_cast<RemoteLinuxRunConfiguration *>(runConfiguration) || qobject_cast<LocalApplicationRunConfiguration *>(runConfiguration) || qobject_cast<Qt4ProjectManager::S60DeviceRunConfiguration *>(runConfiguration)) - return true; + return mode == runMode(); return false; } -AnalyzerStartParameters QmlProfilerTool::createStartParameters(RunConfiguration *runConfiguration, const QString &mode) const +AnalyzerStartParameters QmlProfilerTool::createStartParameters(RunConfiguration *runConfiguration, RunMode mode) const { Q_UNUSED(mode); @@ -693,7 +696,7 @@ static void startRemoteTool(IAnalyzerTool *tool, StartMode mode) AnalyzerRunControl *rc = new AnalyzerRunControl(tool, sp, 0); QObject::connect(AnalyzerManager::stopAction(), SIGNAL(triggered()), rc, SLOT(stopIt())); - ProjectExplorerPlugin::instance()->startRunControl(rc, tool->id().toString()); + ProjectExplorerPlugin::instance()->startRunControl(rc, tool->runMode()); } void QmlProfilerTool::tryToConnect() @@ -786,7 +789,7 @@ void QmlProfilerTool::startTool(StartMode mode) ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); // ### not sure if we're supposed to check if the RunConFiguration isEnabled Project *pro = pe->startupProject(); - pe->runProject(pro, id().toString()); + pe->runProject(pro, runMode()); } else if (mode == StartRemote) { startRemoteTool(this, mode); } diff --git a/src/plugins/qmlprofiler/qmlprofilertool.h b/src/plugins/qmlprofiler/qmlprofilertool.h index b81bb83f296..552c0b0e782 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.h +++ b/src/plugins/qmlprofiler/qmlprofilertool.h @@ -52,6 +52,7 @@ public: ~QmlProfilerTool(); Core::Id id() const; + ProjectExplorer::RunMode runMode() const; QString displayName() const; QString description() const; ToolMode toolMode() const; @@ -62,11 +63,11 @@ public: ProjectExplorer::RunConfiguration *runConfiguration = 0); bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode) const; + ProjectExplorer::RunMode mode) const; Analyzer::AnalyzerStartParameters createStartParameters( ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode) const; + ProjectExplorer::RunMode mode) const; QWidget *createWidgets(); void startTool(Analyzer::StartMode mode); diff --git a/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp b/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp index 589a9493377..01995ee2057 100644 --- a/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp +++ b/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp @@ -54,7 +54,7 @@ RemoteLinuxQmlProfilerRunner::RemoteLinuxQmlProfilerRunner( = PluginManager::instance()->getObjects<IRunControlFactory>(); foreach (IRunControlFactory *factory, runControlFactories) { - if (factory->canRun(runConfiguration, ProjectExplorer::Constants::RUNMODE)) { + if (factory->canRun(runConfiguration, NormalRunMode)) { runControlFactory = factory; break; } @@ -63,8 +63,7 @@ RemoteLinuxQmlProfilerRunner::RemoteLinuxQmlProfilerRunner( QTC_ASSERT(runControlFactory, return); // create run control - RunControl *runControl = runControlFactory->create(runConfiguration, - ProjectExplorer::Constants::RUNMODE); + RunControl *runControl = runControlFactory->create(runConfiguration, NormalRunMode); m_runControl = qobject_cast<AbstractRemoteLinuxRunControl*>(runControl); QTC_ASSERT(m_runControl, return); diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp index 5af2c8266fb..3cb962cf772 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp @@ -54,13 +54,13 @@ namespace QmlProjectManager { namespace Internal { -QmlProjectRunControl::QmlProjectRunControl(QmlProjectRunConfiguration *runConfiguration, QString mode) +QmlProjectRunControl::QmlProjectRunControl(QmlProjectRunConfiguration *runConfiguration, RunMode mode) : RunControl(runConfiguration, mode) { m_applicationLauncher.setEnvironment(runConfiguration->environment()); m_applicationLauncher.setWorkingDirectory(runConfiguration->workingDirectory()); - if (mode == ProjectExplorer::Constants::RUNMODE) { + if (mode == NormalRunMode) { m_executable = runConfiguration->viewerPath(); } else { m_executable = runConfiguration->observerPath(); @@ -141,15 +141,15 @@ QmlProjectRunControlFactory::~QmlProjectRunControlFactory() } bool QmlProjectRunControlFactory::canRun(RunConfiguration *runConfiguration, - const QString &mode) const + RunMode mode) const { QmlProjectRunConfiguration *config = qobject_cast<QmlProjectRunConfiguration*>(runConfiguration); if (!config) return false; - if (mode == ProjectExplorer::Constants::RUNMODE) + if (mode == NormalRunMode) return !config->viewerPath().isEmpty(); - if (mode != Debugger::Constants::DEBUGMODE) + if (mode != DebugRunMode) return false; if (!Debugger::DebuggerPlugin::isActiveDebugLanguage(Debugger::QmlLanguage)) @@ -167,7 +167,7 @@ bool QmlProjectRunControlFactory::canRun(RunConfiguration *runConfiguration, } RunControl *QmlProjectRunControlFactory::create(RunConfiguration *runConfiguration, - const QString &mode) + RunMode mode) { QTC_ASSERT(canRun(runConfiguration, mode), return 0); QmlProjectRunConfiguration *config = qobject_cast<QmlProjectRunConfiguration *>(runConfiguration); @@ -184,9 +184,9 @@ RunControl *QmlProjectRunControlFactory::create(RunConfiguration *runConfigurati } RunControl *runControl = 0; - if (mode == ProjectExplorer::Constants::RUNMODE) + if (mode == NormalRunMode) runControl = new QmlProjectRunControl(config, mode); - else if (mode == Debugger::Constants::DEBUGMODE) + else if (mode == DebugRunMode) runControl = createDebugRunControl(config); return runControl; } diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h index d3c6b054442..fd65bd4d874 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h @@ -46,7 +46,8 @@ class QmlProjectRunControl : public ProjectExplorer::RunControl { Q_OBJECT public: - explicit QmlProjectRunControl(QmlProjectRunConfiguration *runConfiguration, QString mode); + QmlProjectRunControl(QmlProjectRunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode); virtual ~QmlProjectRunControl (); // RunControl @@ -77,8 +78,8 @@ public: virtual ~QmlProjectRunControlFactory(); // IRunControlFactory - virtual bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) const; - virtual ProjectExplorer::RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode); + virtual bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode) const; + virtual ProjectExplorer::RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode); virtual QString displayName() const; virtual ProjectExplorer::RunConfigWidget *createConfigurationWidget(ProjectExplorer::RunConfiguration *runConfiguration); diff --git a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp index 74b977fd087..2153d0046d0 100644 --- a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp @@ -65,7 +65,7 @@ using namespace Coda; enum { debug = 0 }; -CodaRunControl::CodaRunControl(RunConfiguration *runConfiguration, const QString &mode) : +CodaRunControl::CodaRunControl(RunConfiguration *runConfiguration, RunMode mode) : S60RunControlBase(runConfiguration, mode), m_port(0), m_state(StateUninit), diff --git a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h index 3cf7ff49cab..a4dcc40eed3 100644 --- a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h +++ b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h @@ -57,7 +57,8 @@ class QT4PROJECTMANAGER_EXPORT CodaRunControl : public S60RunControlBase { Q_OBJECT public: - explicit CodaRunControl(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode); + CodaRunControl(ProjectExplorer::RunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode); virtual ~CodaRunControl(); virtual bool isRunning() const; diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp index 45b66caefde..985c29af96c 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp @@ -160,7 +160,7 @@ void S60DeviceDebugRunControl::remoteSetupRequested() { // This is called from Engine->setupInferior(), ie InferiorSetupRequested state QTC_ASSERT(runConfiguration()->useQmlDebugger() && !runConfiguration()->useCppDebugger(), return); - m_codaRunControl = new CodaRunControl(runConfiguration(), Debugger::Constants::DEBUGMODE); + m_codaRunControl = new CodaRunControl(runConfiguration(), DebugRunMode); connect(m_codaRunControl, SIGNAL(connected()), this, SLOT(codaConnected())); connect(m_codaRunControl, SIGNAL(finished()), this, SLOT(codaFinished())); connect(m_codaRunControl, SIGNAL(appendMessage(ProjectExplorer::RunControl*,QString,Utils::OutputFormat)), this, SLOT(handleMessageFromCoda(ProjectExplorer::RunControl*,QString,Utils::OutputFormat))); @@ -218,16 +218,15 @@ S60DeviceDebugRunControlFactory::S60DeviceDebugRunControlFactory(QObject *parent { } -bool S60DeviceDebugRunControlFactory::canRun(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) const +bool S60DeviceDebugRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mode) const { - return mode == QLatin1String(Debugger::Constants::DEBUGMODE) - && qobject_cast<S60DeviceRunConfiguration *>(runConfiguration) != 0; + return mode == DebugRunMode && qobject_cast<S60DeviceRunConfiguration *>(runConfiguration); } -ProjectExplorer::RunControl* S60DeviceDebugRunControlFactory::create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) +ProjectExplorer::RunControl* S60DeviceDebugRunControlFactory::create(RunConfiguration *runConfiguration, RunMode mode) { S60DeviceRunConfiguration *rc = qobject_cast<S60DeviceRunConfiguration *>(runConfiguration); - QTC_ASSERT(rc && mode == QLatin1String(Debugger::Constants::DEBUGMODE), return 0); + QTC_ASSERT(rc && mode == DebugRunMode, return 0); const Debugger::DebuggerStartParameters startParameters = s60DebuggerStartParams(rc); const Debugger::ConfigurationCheck check = Debugger::checkDebugConfiguration(startParameters); if (!check) { diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.h b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.h index 9a25704f313..84ad5f57d64 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.h @@ -74,9 +74,9 @@ class S60DeviceDebugRunControlFactory : public ProjectExplorer::IRunControlFacto { public: explicit S60DeviceDebugRunControlFactory(QObject *parent = 0); - bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) const; + bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode) const; - ProjectExplorer::RunControl* create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode); + ProjectExplorer::RunControl* create(ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode); QString displayName() const; ProjectExplorer::RunConfigWidget *createConfigurationWidget(ProjectExplorer::RunConfiguration * /*runConfiguration */); }; diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp index 4665bd59592..ae1120380f3 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp @@ -345,7 +345,7 @@ QString S60EmulatorRunConfigurationFactory::displayNameForId(const QString &id) // ======== S60EmulatorRunControl -S60EmulatorRunControl::S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, QString mode) +S60EmulatorRunControl::S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, RunMode mode) : RunControl(runConfiguration, mode) { // FIXME: This should be configurable! diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h index 87be75a0cb0..09f0ddc7161 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h @@ -141,7 +141,8 @@ class S60EmulatorRunControl : public ProjectExplorer::RunControl { Q_OBJECT public: - explicit S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, QString mode); + S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode); ~S60EmulatorRunControl() {} void start(); virtual StopResult stop(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp index 02217e311fb..51b30dee324 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp @@ -74,17 +74,17 @@ template <class RunControl, class RunConfiguration> class RunControlFactory : public ProjectExplorer::IRunControlFactory { public: - explicit RunControlFactory(const QString &mode, - const QString &name, - QObject *parent = 0) : + RunControlFactory(ProjectExplorer::RunMode mode, const QString &name, QObject *parent = 0) : IRunControlFactory(parent), m_mode(mode), m_name(name) {} - bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) const { - return (mode == m_mode) - && (qobject_cast<RunConfiguration *>(runConfiguration) != 0); + bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunMode mode) const + { + return mode == m_mode && qobject_cast<RunConfiguration *>(runConfiguration); } - ProjectExplorer::RunControl* create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) { + ProjectExplorer::RunControl* create(ProjectExplorer::RunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode) + { RunConfiguration *rc = qobject_cast<RunConfiguration *>(runConfiguration); QTC_ASSERT(rc && mode == m_mode, return 0); return new RunControl(rc, mode); @@ -99,7 +99,7 @@ public: } private: - const QString m_mode; + const ProjectExplorer::RunMode m_mode; const QString m_name; }; @@ -117,10 +117,9 @@ S60Manager::S60Manager(QObject *parent) : QObject(parent) addAutoReleasedObject(new S60EmulatorRunConfigurationFactory); addAutoReleasedObject(new RunControlFactory<S60EmulatorRunControl, S60EmulatorRunConfiguration> - (QLatin1String(ProjectExplorer::Constants::RUNMODE), - tr("Run in Emulator"), parent)); + (ProjectExplorer::NormalRunMode, tr("Run in Emulator"), parent)); addAutoReleasedObject(new S60DeviceRunConfigurationFactory); - addAutoReleasedObject(new S60RunControlFactory(QLatin1String(ProjectExplorer::Constants::RUNMODE), + addAutoReleasedObject(new S60RunControlFactory(ProjectExplorer::NormalRunMode, tr("Run on Device"), parent)); addAutoReleasedObject(new S60CreatePackageStepFactory); addAutoReleasedObject(new S60DeployStepFactory); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp index 834324cf4c1..8846f8b24a3 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp @@ -73,7 +73,8 @@ QString S60RunControlBase::msgListFile(const QString &file) return rc; } -S60RunControlBase::S60RunControlBase(RunConfiguration *runConfiguration, const QString &mode) : +S60RunControlBase::S60RunControlBase(RunConfiguration *runConfiguration, + RunMode mode) : RunControl(runConfiguration, mode), m_launchProgress(0) { @@ -91,9 +92,7 @@ S60RunControlBase::S60RunControlBase(RunConfiguration *runConfiguration, const Q m_targetName = s60runConfig->targetName(); m_commandLineArguments = s60runConfig->commandLineArguments(); QString qmlArgs = s60runConfig->qmlCommandLineArguments(); - if (((mode == Debugger::Constants::DEBUGMODE) - || (mode == Analyzer::Constants::MODE_ANALYZE)) - && !qmlArgs.isEmpty()) { + if ((mode == DebugRunMode || mode == QmlProfilerRunMode) && !qmlArgs.isEmpty()) { m_commandLineArguments.prepend(' '); m_commandLineArguments.prepend(qmlArgs); } diff --git a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.h b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.h index afa803cbc1a..54f89c02b0a 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.h @@ -45,7 +45,8 @@ class QT4PROJECTMANAGER_EXPORT S60RunControlBase : public ProjectExplorer::RunCo { Q_OBJECT public: - explicit S60RunControlBase(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode); + S60RunControlBase(ProjectExplorer::RunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode); ~S60RunControlBase(); virtual void start(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp index c53732e5b0b..69b284808e3 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.cpp @@ -43,14 +43,12 @@ using namespace ProjectExplorer; using namespace Qt4ProjectManager; using namespace Qt4ProjectManager::Internal; -S60RunControlFactory::S60RunControlFactory(const QString &mode, - const QString &name, - QObject *parent) : +S60RunControlFactory::S60RunControlFactory(RunMode mode, const QString &name, QObject *parent) : IRunControlFactory(parent), m_mode(mode), m_name(name) { } -bool S60RunControlFactory::canRun(RunConfiguration *runConfiguration, const QString &mode) const +bool S60RunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mode) const { if (mode != m_mode) return false; @@ -61,7 +59,7 @@ bool S60RunControlFactory::canRun(RunConfiguration *runConfiguration, const QStr return activeDeployConf != 0; } -RunControl* S60RunControlFactory::create(RunConfiguration *runConfiguration, const QString &mode) +RunControl* S60RunControlFactory::create(RunConfiguration *runConfiguration, RunMode mode) { S60DeviceRunConfiguration *rc = qobject_cast<S60DeviceRunConfiguration *>(runConfiguration); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.h b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.h index aa8e985476a..21b2a19ae7c 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolfactory.h @@ -41,20 +41,22 @@ namespace Internal { class S60RunControlFactory : public ProjectExplorer::IRunControlFactory { public: - explicit S60RunControlFactory(const QString &mode, + explicit S60RunControlFactory(ProjectExplorer::RunMode mode, const QString &name, QObject *parent = 0); - bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) const; + bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode) const; - ProjectExplorer::RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode); + ProjectExplorer::RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode); QString displayName() const; ProjectExplorer::RunConfigWidget *createConfigurationWidget(ProjectExplorer::RunConfiguration *runConfiguration); private: - const QString m_mode; + const ProjectExplorer::RunMode m_mode; const QString m_name; }; diff --git a/src/plugins/remotelinux/remotelinuxruncontrol.cpp b/src/plugins/remotelinux/remotelinuxruncontrol.cpp index d6f463d5826..fd1759c1e48 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrol.cpp +++ b/src/plugins/remotelinux/remotelinuxruncontrol.cpp @@ -47,7 +47,7 @@ namespace RemoteLinux { using ProjectExplorer::RunConfiguration; AbstractRemoteLinuxRunControl::AbstractRemoteLinuxRunControl(RunConfiguration *rc) - : RunControl(rc, ProjectExplorer::Constants::RUNMODE) + : RunControl(rc, ProjectExplorer::NormalRunMode) , m_running(false) { } diff --git a/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp b/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp index 031bee8715b..b6358ea3300 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp @@ -57,11 +57,9 @@ RemoteLinuxRunControlFactory::~RemoteLinuxRunControlFactory() { } -bool RemoteLinuxRunControlFactory::canRun(RunConfiguration *runConfiguration, - const QString &mode) const +bool RemoteLinuxRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mode) const { - if (mode != QLatin1String(ProjectExplorer::Constants::RUNMODE) - && mode != QLatin1String(Debugger::Constants::DEBUGMODE)) + if (mode != NormalRunMode && mode != DebugRunMode) return false; if (!runConfiguration->isEnabled() @@ -71,19 +69,18 @@ bool RemoteLinuxRunControlFactory::canRun(RunConfiguration *runConfiguration, const RemoteLinuxRunConfiguration * const remoteRunConfig = qobject_cast<RemoteLinuxRunConfiguration *>(runConfiguration); - if (mode == QLatin1String(Debugger::Constants::DEBUGMODE)) + if (mode == DebugRunMode) return remoteRunConfig->portsUsedByDebuggers() <= remoteRunConfig->freePorts().count(); return true; } -RunControl* RemoteLinuxRunControlFactory::create(RunConfiguration *runConfig, - const QString &mode) +RunControl *RemoteLinuxRunControlFactory::create(RunConfiguration *runConfig, RunMode mode) { Q_ASSERT(canRun(runConfig, mode)); RemoteLinuxRunConfiguration *rc = qobject_cast<RemoteLinuxRunConfiguration *>(runConfig); Q_ASSERT(rc); - if (mode == ProjectExplorer::Constants::RUNMODE) + if (mode == ProjectExplorer::NormalRunMode) return new RemoteLinuxRunControl(rc); const DebuggerStartParameters params diff --git a/src/plugins/remotelinux/remotelinuxruncontrolfactory.h b/src/plugins/remotelinux/remotelinuxruncontrolfactory.h index 0eef154d290..6ccd7aef6d6 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrolfactory.h +++ b/src/plugins/remotelinux/remotelinuxruncontrolfactory.h @@ -46,9 +46,10 @@ public: QString displayName() const; ProjectExplorer::RunConfigWidget *createConfigurationWidget(ProjectExplorer::RunConfiguration *runConfiguration); - bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) const; + bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, + ProjectExplorer::RunMode mode) const; ProjectExplorer::RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode); + ProjectExplorer::RunMode mode); }; } // namespace Internal diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index 74c1e027d9f..0a7a2ebf218 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -518,6 +518,11 @@ Core::Id CallgrindTool::id() const return "Callgrind"; } +ProjectExplorer::RunMode CallgrindTool::runMode() const +{ + return ProjectExplorer::CallgrindRunMode; +} + QString CallgrindTool::displayName() const { return tr("Valgrind Function Profiler"); diff --git a/src/plugins/valgrind/callgrindtool.h b/src/plugins/valgrind/callgrindtool.h index 014caa8f8e3..4121f620aec 100644 --- a/src/plugins/valgrind/callgrindtool.h +++ b/src/plugins/valgrind/callgrindtool.h @@ -49,6 +49,7 @@ public: ~CallgrindTool(); Core::Id id() const; + ProjectExplorer::RunMode runMode() const; QString displayName() const; QString description() const; ToolMode toolMode() const; diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index 437d4b979f8..dd38bb8b7c7 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -290,6 +290,11 @@ Core::Id MemcheckTool::id() const return "Memcheck"; } +ProjectExplorer::RunMode MemcheckTool::runMode() const +{ + return ProjectExplorer::MemcheckRunMode; +} + QString MemcheckTool::displayName() const { return tr("Valgrind Memory Analyzer"); diff --git a/src/plugins/valgrind/memchecktool.h b/src/plugins/valgrind/memchecktool.h index 1dcba3a3456..04216311a83 100644 --- a/src/plugins/valgrind/memchecktool.h +++ b/src/plugins/valgrind/memchecktool.h @@ -94,6 +94,7 @@ public: MemcheckTool(QObject *parent); Core::Id id() const; + ProjectExplorer::RunMode runMode() const; QString displayName() const; QString description() const; diff --git a/src/plugins/valgrind/valgrindplugin.cpp b/src/plugins/valgrind/valgrindplugin.cpp index 5f4f97c0c53..1f4ed6529be 100644 --- a/src/plugins/valgrind/valgrindplugin.cpp +++ b/src/plugins/valgrind/valgrindplugin.cpp @@ -84,7 +84,7 @@ static void startRemoteTool(IAnalyzerTool *tool) //m_currentRunControl = rc; QObject::connect(AnalyzerManager::stopAction(), SIGNAL(triggered()), rc, SLOT(stopIt())); - ProjectExplorerPlugin::instance()->startRunControl(rc, tool->id().toString()); + ProjectExplorerPlugin::instance()->startRunControl(rc, tool->runMode()); } void ValgrindPlugin::startValgrindTool(IAnalyzerTool *tool, StartMode mode) diff --git a/src/plugins/valgrind/valgrindtool.cpp b/src/plugins/valgrind/valgrindtool.cpp index 208ad7cae94..745a39e569e 100644 --- a/src/plugins/valgrind/valgrindtool.cpp +++ b/src/plugins/valgrind/valgrindtool.cpp @@ -49,14 +49,13 @@ ValgrindTool::ValgrindTool(QObject *parent) : { } -bool ValgrindTool::canRun(ProjectExplorer::RunConfiguration *, const QString &) const +bool ValgrindTool::canRun(RunConfiguration *, RunMode mode) const { - return true; + return mode == runMode(); } Analyzer::AnalyzerStartParameters ValgrindTool::createStartParameters( - ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode) const + RunConfiguration *runConfiguration, RunMode mode) const { Q_UNUSED(mode); diff --git a/src/plugins/valgrind/valgrindtool.h b/src/plugins/valgrind/valgrindtool.h index 8c384f4ddd8..6bee427a462 100644 --- a/src/plugins/valgrind/valgrindtool.h +++ b/src/plugins/valgrind/valgrindtool.h @@ -45,11 +45,11 @@ public: explicit ValgrindTool(QObject *parent); bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode) const; + ProjectExplorer::RunMode mode) const; Analyzer::AnalyzerStartParameters createStartParameters( ProjectExplorer::RunConfiguration *runConfiguration, - const QString &mode) const; + ProjectExplorer::RunMode mode) const; }; } // namespace Internal -- GitLab