diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 2b6f3684fb7c38eab920aa78b32ffce2e0be789f..d5739c46b6f36d3ea5a6eb691af012e7bd0da607 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -106,7 +106,7 @@ QWidget *DebuggerRunControlFactory::createConfigurationWidget(RunConfiguration * DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager, LocalApplicationRunConfiguration *runConfiguration) - : RunControl(runConfiguration), + : RunControl(runConfiguration, ProjectExplorer::Constants::DEBUGMODE), m_startParameters(new DebuggerStartParameters()), m_manager(manager), m_running(false) @@ -157,7 +157,7 @@ DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager, } DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager, const DebuggerStartParametersPtr &startParameters) - : RunControl(0), + : RunControl(0, ProjectExplorer::Constants::DEBUGMODE), m_startParameters(startParameters), m_manager(manager), m_running(false) diff --git a/src/plugins/projectexplorer/applicationrunconfiguration.cpp b/src/plugins/projectexplorer/applicationrunconfiguration.cpp index aab7a56944409900616005adcc08406c920948dc..05ae8f87650b3f22bae51023f6d08c32c20c25c8 100644 --- a/src/plugins/projectexplorer/applicationrunconfiguration.cpp +++ b/src/plugins/projectexplorer/applicationrunconfiguration.cpp @@ -80,7 +80,7 @@ QString LocalApplicationRunControlFactory::displayName() const RunControl *LocalApplicationRunControlFactory::create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) { QTC_ASSERT(canRun(runConfiguration, mode), return 0); - return new LocalApplicationRunControl(qobject_cast<LocalApplicationRunConfiguration *>(runConfiguration)); + return new LocalApplicationRunControl(qobject_cast<LocalApplicationRunConfiguration *>(runConfiguration), mode); } QWidget *LocalApplicationRunControlFactory::createConfigurationWidget(RunConfiguration *runConfiguration) @@ -91,8 +91,8 @@ QWidget *LocalApplicationRunControlFactory::createConfigurationWidget(RunConfigu // ApplicationRunControl -LocalApplicationRunControl::LocalApplicationRunControl(LocalApplicationRunConfiguration *runConfiguration) - : RunControl(runConfiguration) +LocalApplicationRunControl::LocalApplicationRunControl(LocalApplicationRunConfiguration *runConfiguration, QString mode) + : RunControl(runConfiguration, mode) { m_applicationLauncher.setEnvironment(runConfiguration->environment().toStringList()); m_applicationLauncher.setWorkingDirectory(runConfiguration->workingDirectory()); diff --git a/src/plugins/projectexplorer/applicationrunconfiguration.h b/src/plugins/projectexplorer/applicationrunconfiguration.h index 415126078b076164588e95065eb0a26d711b22f6..a9c4241a580b22c23edbe72450962a08f9a361ea 100644 --- a/src/plugins/projectexplorer/applicationrunconfiguration.h +++ b/src/plugins/projectexplorer/applicationrunconfiguration.h @@ -81,7 +81,7 @@ class LocalApplicationRunControl : public RunControl { Q_OBJECT public: - LocalApplicationRunControl(LocalApplicationRunConfiguration *runConfiguration); + LocalApplicationRunControl(LocalApplicationRunConfiguration *runConfiguration, QString mode); virtual ~LocalApplicationRunControl(); virtual void start(); virtual void stop(); diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp index 3423d4bae4d751abd405961862adfe276d5f3c71..1f27ab70330287e0f776a20a7e2d148889105926 100644 --- a/src/plugins/projectexplorer/outputwindow.cpp +++ b/src/plugins/projectexplorer/outputwindow.cpp @@ -64,12 +64,15 @@ static const int MaxBlockCount = 100000; OutputPane::OutputPane() : m_mainWidget(new QWidget) { - QIcon runIcon(Constants::ICON_RUN); - runIcon.addFile(Constants::ICON_RUN_SMALL); + m_runIcon.addFile(Constants::ICON_RUN); + m_runIcon.addFile(Constants::ICON_RUN_SMALL); + + m_debugIcon.addFile(Constants::ICON_DEBUG); + m_debugIcon.addFile(Constants::ICON_DEBUG_SMALL); // Rerun m_reRunButton = new QToolButton; - m_reRunButton->setIcon(runIcon); + m_reRunButton->setIcon(m_runIcon); m_reRunButton->setToolTip(tr("Re-run this run-configuration")); m_reRunButton->setAutoRaise(true); m_reRunButton->setEnabled(false); @@ -296,6 +299,7 @@ void OutputPane::tabChanged(int i) RunControl *rc = runControlForTab(i); m_stopAction->setEnabled(rc->isRunning()); m_reRunButton->setEnabled(!rc->isRunning()); + m_reRunButton->setIcon( rc->runMode() == Constants::DEBUGMODE ? m_debugIcon : m_runIcon); } } @@ -305,6 +309,7 @@ void OutputPane::runControlStarted() if (rc == qobject_cast<RunControl *>(sender())) { m_reRunButton->setEnabled(false); m_stopAction->setEnabled(true); + m_reRunButton->setIcon( rc->runMode() == Constants::DEBUGMODE ? m_debugIcon : m_runIcon); } } @@ -314,6 +319,7 @@ void OutputPane::runControlFinished() if (rc == qobject_cast<RunControl *>(sender())) { m_reRunButton->setEnabled(rc); m_stopAction->setEnabled(false); + m_reRunButton->setIcon( rc->runMode() == Constants::DEBUGMODE ? m_debugIcon : m_runIcon); } } diff --git a/src/plugins/projectexplorer/outputwindow.h b/src/plugins/projectexplorer/outputwindow.h index cc791a574df286523e802332de17e477a31fa302..32bd14ec5cee35f65859512ec0441e8d83cd7bf6 100644 --- a/src/plugins/projectexplorer/outputwindow.h +++ b/src/plugins/projectexplorer/outputwindow.h @@ -35,6 +35,7 @@ #include <QtCore/QObject> #include <QtCore/QHash> +#include <QtGui/QIcon> #include <QtGui/QShowEvent> #include <QtGui/QPlainTextEdit> @@ -115,6 +116,8 @@ private: QAction *m_stopAction; QToolButton *m_reRunButton; QToolButton *m_stopButton; + QIcon m_runIcon; + QIcon m_debugIcon; }; diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index b758aa9d003ecb8f548ce9df8343941943e73811..33b59d6984a9e084bc1cf7684477b3d5e956650e 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -215,8 +215,8 @@ IRunControlFactory::~IRunControlFactory() { } -RunControl::RunControl(RunConfiguration *runConfiguration) - : m_runConfiguration(runConfiguration) +RunControl::RunControl(RunConfiguration *runConfiguration, QString mode) + : m_runMode(mode), m_runConfiguration(runConfiguration) { if (runConfiguration) m_displayName = runConfiguration->displayName(); @@ -227,6 +227,11 @@ RunControl::~RunControl() } +QString RunControl::runMode() const +{ + return m_runMode; +} + QString RunControl::displayName() const { return m_displayName; diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 86efaf680c4cb2be4ea239346d5284e5a739b6e7..486bc18f96d12caf3c21435d0837396e2be6e25c 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -160,7 +160,7 @@ class PROJECTEXPLORER_EXPORT RunControl : public QObject { Q_OBJECT public: - explicit RunControl(RunConfiguration *runConfiguration); + explicit RunControl(RunConfiguration *runConfiguration, QString mode); virtual ~RunControl(); virtual void start() = 0; virtual void stop() = 0; // Warning: assumed to be synchroneous! @@ -170,6 +170,7 @@ public: bool sameRunConfiguration(RunControl *other); virtual OutputFormatter *createOutputFormatter(QObject *parent = 0); + QString runMode() const; signals: void addToOutputWindow(RunControl *, const QString &line, bool onStdErr); @@ -186,6 +187,7 @@ private slots: private: QString m_displayName; + QString m_runMode; const QWeakPointer<RunConfiguration> m_runConfiguration; #ifdef Q_OS_MAC diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp index de6e9bba3008dc74126dd82b453754bf44468e52..9d3cbbd1df31eec731063a312153a1037eaa26ec 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp @@ -52,11 +52,11 @@ using ProjectExplorer::RunControl; namespace QmlProjectManager { namespace Internal { -QmlRunControl::QmlRunControl(QmlProjectRunConfiguration *runConfiguration, bool debugMode) - : RunControl(runConfiguration), m_debugMode(debugMode) +QmlRunControl::QmlRunControl(QmlProjectRunConfiguration *runConfiguration, QString mode) + : RunControl(runConfiguration, mode) { ProjectExplorer::Environment environment = ProjectExplorer::Environment::systemEnvironment(); - if (debugMode) + if (runMode() == ProjectExplorer::Constants::DEBUGMODE) environment.set(QmlProjectManager::Constants::E_QML_DEBUG_SERVER_PORT, QString::number(runConfiguration->debugServerPort())); m_applicationLauncher.setEnvironment(environment.toStringList()); @@ -121,7 +121,7 @@ void QmlRunControl::slotError(const QString &err, bool isError) void QmlRunControl::slotAddToOutputWindow(const QString &line, bool onStdErr) { - if (m_debugMode && line.startsWith("QDeclarativeDebugServer: Waiting for connection")) { + if (runMode() == ProjectExplorer::Constants::DEBUGMODE && line.startsWith("QDeclarativeDebugServer: Waiting for connection")) { Core::ICore *core = Core::ICore::instance(); core->modeManager()->activateMode(Debugger::Constants::MODE_DEBUG); } @@ -155,8 +155,7 @@ RunControl *QmlRunControlFactory::create(RunConfiguration *runConfiguration, const QString &mode) { QTC_ASSERT(canRun(runConfiguration, mode), return 0); - return new QmlRunControl(qobject_cast<QmlProjectRunConfiguration *>(runConfiguration), - mode == ProjectExplorer::Constants::DEBUGMODE); + return new QmlRunControl(qobject_cast<QmlProjectRunConfiguration *>(runConfiguration), mode); } QString QmlRunControlFactory::displayName() const diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h index d6fe7e1cdb3489adfe0abfe69b23d73f3eb5e654..89d0d7dc5469261fe4fc9d1af2208484314bec38 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h @@ -39,10 +39,11 @@ class QmlProjectRunConfiguration; namespace Internal { -class QmlRunControl : public ProjectExplorer::RunControl { +class QmlRunControl : public ProjectExplorer::RunControl +{ Q_OBJECT public: - explicit QmlRunControl(QmlProjectRunConfiguration *runConfiguration, bool debugMode); + explicit QmlRunControl(QmlProjectRunConfiguration *runConfiguration, QString mode); virtual ~QmlRunControl (); // RunControl @@ -63,7 +64,6 @@ private: QString m_executable; QStringList m_commandLineArguments; - bool m_debugMode; }; class QmlRunControlFactory : public ProjectExplorer::IRunControlFactory { diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp index a2f639a78e3e99d63adbd087c1a9ecb12e7ebfc4..0078661348fc1c50e61f183271ffd6987ac0af30 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp @@ -44,6 +44,7 @@ #include <extensionsystem/pluginmanager.h> #include <projectexplorer/toolchain.h> #include <utils/qtcassert.h> +#include <projectexplorer/projectexplorerconstants.h> #include <QtCore/QDir> #include <QtCore/QFileInfo> @@ -59,8 +60,8 @@ namespace Internal { using ProjectExplorer::RunConfiguration; using ProjectExplorer::ToolChain; -AbstractMaemoRunControl::AbstractMaemoRunControl(RunConfiguration *rc) - : RunControl(rc) +AbstractMaemoRunControl::AbstractMaemoRunControl(RunConfiguration *rc, QString mode) + : RunControl(rc, mode) , m_runConfig(qobject_cast<MaemoRunConfiguration *>(rc)) , m_devConfig(m_runConfig ? m_runConfig->deviceConfig() : MaemoDeviceConfig()) { @@ -343,7 +344,7 @@ void AbstractMaemoRunControl::handleError(const QString &errString) MaemoRunControl::MaemoRunControl(RunConfiguration *runConfiguration) - : AbstractMaemoRunControl(runConfiguration) + : AbstractMaemoRunControl(runConfiguration, ProjectExplorer::Constants::RUNMODE) { } @@ -375,7 +376,7 @@ void MaemoRunControl::handleRemoteOutput(const QString &output) MaemoDebugRunControl::MaemoDebugRunControl(RunConfiguration *runConfiguration) - : AbstractMaemoRunControl(runConfiguration) + : AbstractMaemoRunControl(runConfiguration, ProjectExplorer::Constants::DEBUGMODE) , m_debuggerManager(ExtensionSystem::PluginManager::instance() ->getObject<Debugger::DebuggerManager>()) , m_startParams(new Debugger::DebuggerStartParameters) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h index 4fe9744afaddc21cc3a09961adc387b726bda506..7d4170c1d792bcae341ee41ce38850b79a8e44a6 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h @@ -63,7 +63,7 @@ class AbstractMaemoRunControl : public ProjectExplorer::RunControl Q_OBJECT public: - explicit AbstractMaemoRunControl(ProjectExplorer::RunConfiguration *runConfig); + explicit AbstractMaemoRunControl(ProjectExplorer::RunConfiguration *runConfig, QString mode); virtual ~AbstractMaemoRunControl(); protected: diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp index 54d08018bbc3c1618f34c422b38897b9eacc5d2a..fa50bb1618e85eba0401fb710799ce9900e346d1 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp @@ -451,8 +451,8 @@ RunConfiguration *S60DeviceRunConfigurationFactory::clone(Target *parent, RunCon // ======== S60DeviceRunControlBase -S60DeviceRunControlBase::S60DeviceRunControlBase(RunConfiguration *runConfiguration) : - RunControl(runConfiguration), +S60DeviceRunControlBase::S60DeviceRunControlBase(RunConfiguration *runConfiguration, QString mode) : + RunControl(runConfiguration, mode), m_toolChain(ProjectExplorer::ToolChain::INVALID), m_releaseDeviceAfterLauncherFinish(false), m_handleDeviceRemoval(true), @@ -812,8 +812,8 @@ bool S60DeviceRunControlBase::checkConfiguration(QString * /* errorMessage */, // =============== S60DeviceRunControl -S60DeviceRunControl::S60DeviceRunControl(ProjectExplorer::RunConfiguration *runConfiguration) : - S60DeviceRunControlBase(runConfiguration) +S60DeviceRunControl::S60DeviceRunControl(ProjectExplorer::RunConfiguration *runConfiguration, QString mode) : + S60DeviceRunControlBase(runConfiguration, mode) { } @@ -849,8 +849,8 @@ void S60DeviceRunControl::printRunFailNotice(const QString &errorMessage) { // ======== S60DeviceDebugRunControl -S60DeviceDebugRunControl::S60DeviceDebugRunControl(S60DeviceRunConfiguration *runConfiguration) : - S60DeviceRunControlBase(runConfiguration), +S60DeviceDebugRunControl::S60DeviceDebugRunControl(S60DeviceRunConfiguration *runConfiguration, QString mode) : + S60DeviceRunControlBase(runConfiguration, mode), m_startParams(new Debugger::DebuggerStartParameters) { setReleaseDeviceAfterLauncherFinish(true); // Debugger controls device after install diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h index 3ff0bc145afc1d836c171dd5404f87336d6edadc..d1d1ed53db2a681280f44d15954bea243ef33a3f 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.h @@ -144,7 +144,7 @@ class S60DeviceRunControlBase : public ProjectExplorer::RunControl { Q_OBJECT public: - explicit S60DeviceRunControlBase(ProjectExplorer::RunConfiguration *runConfiguration); + explicit S60DeviceRunControlBase(ProjectExplorer::RunConfiguration *runConfiguration, QString mode); ~S60DeviceRunControlBase(); virtual void start(); virtual void stop(); @@ -206,7 +206,7 @@ class S60DeviceRunControl : public S60DeviceRunControlBase { Q_OBJECT public: - explicit S60DeviceRunControl(ProjectExplorer::RunConfiguration *runConfiguration); + explicit S60DeviceRunControl(ProjectExplorer::RunConfiguration *runConfiguration, QString mode); protected: virtual void initLauncher(const QString &executable, trk::Launcher *); @@ -225,7 +225,7 @@ class S60DeviceDebugRunControl : public S60DeviceRunControlBase Q_DISABLE_COPY(S60DeviceDebugRunControl) Q_OBJECT public: - explicit S60DeviceDebugRunControl(S60DeviceRunConfiguration *runConfiguration); + explicit S60DeviceDebugRunControl(S60DeviceRunConfiguration *runConfiguration, QString mode); virtual ~S60DeviceDebugRunControl(); virtual void stop(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp index 3a6d849d60139fb30edbc75427ab061839f1c20b..9ae33ff517aae649d524da693ab61e2d6dcd2b50 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp @@ -293,8 +293,8 @@ QString S60EmulatorRunConfigurationFactory::displayNameForId(const QString &id) // ======== S60EmulatorRunControl -S60EmulatorRunControl::S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration) - : RunControl(runConfiguration) +S60EmulatorRunControl::S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, QString mode) + : RunControl(runConfiguration, mode) { // stuff like the EPOCROOT and EPOCDEVICE env variable Environment env = Environment::systemEnvironment(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h index 7fd1dda8f2a6208136bae731aaeaef38524f4712..917eac35b3b116bda3678301fa7a14f7e5a1e89b 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h @@ -129,7 +129,7 @@ class S60EmulatorRunControl : public ProjectExplorer::RunControl { Q_OBJECT public: - explicit S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration); + explicit S60EmulatorRunControl(S60EmulatorRunConfiguration *runConfiguration, QString mode); ~S60EmulatorRunControl() {} void start(); void stop(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp index 941bdbd484bb7240406235d5721c0e130cafc3a1..cdb490206016e6a497e9a0f08bd57cbcc063ca48 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp @@ -80,7 +80,7 @@ public: ProjectExplorer::RunControl* create(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode) { RunConfiguration *rc = qobject_cast<RunConfiguration *>(runConfiguration); QTC_ASSERT(rc && mode == m_mode, return 0); - return new RunControl(rc); + return new RunControl(rc, mode); } QString displayName() const {