From 28cf277cc178a89c19dd9b2d15cbeb6a826b6171 Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Mon, 28 Mar 2011 19:58:13 +0200 Subject: [PATCH] RunControl: Show correct icon in application output Add a virtual icon() method to runcontrol. Actually currently the icon only varies between modes of running. Task-Nr: QTCREATORBUG-1232 --- src/plugins/analyzerbase/analyzerruncontrol.cpp | 5 +++++ src/plugins/analyzerbase/analyzerruncontrol.h | 1 + src/plugins/debugger/debuggerrunner.cpp | 5 +++++ src/plugins/debugger/debuggerrunner.h | 1 + .../projectexplorer/localapplicationruncontrol.cpp | 5 +++++ .../projectexplorer/localapplicationruncontrol.h | 1 + src/plugins/projectexplorer/outputwindow.cpp | 11 ++++------- src/plugins/projectexplorer/outputwindow.h | 1 - src/plugins/projectexplorer/runconfiguration.h | 5 +++++ .../qmlprojectmanager/qmlprojectruncontrol.cpp | 5 +++++ src/plugins/qmlprojectmanager/qmlprojectruncontrol.h | 1 + .../qt4projectmanager/qt-maemo/maemoruncontrol.cpp | 5 +++++ .../qt4projectmanager/qt-maemo/maemoruncontrol.h | 1 + .../qt4projectmanager/qt-s60/codaruncontrol.cpp | 6 ++++++ src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h | 1 + .../qt-s60/s60emulatorrunconfiguration.cpp | 7 +++++++ .../qt-s60/s60emulatorrunconfiguration.h | 1 + .../qt4projectmanager/qt-s60/trkruncontrol.cpp | 5 +++++ src/plugins/qt4projectmanager/qt-s60/trkruncontrol.h | 1 + 19 files changed, 60 insertions(+), 8 deletions(-) diff --git a/src/plugins/analyzerbase/analyzerruncontrol.cpp b/src/plugins/analyzerbase/analyzerruncontrol.cpp index e46aac0b617..55058f13ebf 100644 --- a/src/plugins/analyzerbase/analyzerruncontrol.cpp +++ b/src/plugins/analyzerbase/analyzerruncontrol.cpp @@ -169,6 +169,11 @@ QString AnalyzerRunControl::displayName() const return AnalyzerManager::instance()->currentTool()->displayName(); } +QIcon AnalyzerRunControl::icon() const +{ + return QIcon(QLatin1String(":/images/analyzer_start_small.png")); +} + void AnalyzerRunControl::receiveStandardOutput(const QString &text) { appendMessage(text, ProjectExplorer::StdOutFormat); diff --git a/src/plugins/analyzerbase/analyzerruncontrol.h b/src/plugins/analyzerbase/analyzerruncontrol.h index dbb498025f7..03333d06a58 100644 --- a/src/plugins/analyzerbase/analyzerruncontrol.h +++ b/src/plugins/analyzerbase/analyzerruncontrol.h @@ -91,6 +91,7 @@ public: StopResult stop(); bool isRunning() const; QString displayName() const; + QIcon icon() const; private slots: void receiveStandardOutput(const QString &); diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index daed9af1f9d..2e8f4135f41 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -227,6 +227,11 @@ QString DebuggerRunControl::displayName() const return d->m_engine->startParameters().displayName; } +QIcon DebuggerRunControl::icon() const +{ + return QIcon(ProjectExplorer::Constants::ICON_DEBUG_SMALL); +} + void DebuggerRunControl::setCustomEnvironment(Utils::Environment env) { QTC_ASSERT(d->m_engine, return); diff --git a/src/plugins/debugger/debuggerrunner.h b/src/plugins/debugger/debuggerrunner.h index 70991889ff7..fdc5371b745 100644 --- a/src/plugins/debugger/debuggerrunner.h +++ b/src/plugins/debugger/debuggerrunner.h @@ -96,6 +96,7 @@ public: StopResult stop(); // Called from SnapshotWindow. bool isRunning() const; QString displayName() const; + QIcon icon() const; void setCustomEnvironment(Utils::Environment env); void startFailed(); diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.cpp b/src/plugins/projectexplorer/localapplicationruncontrol.cpp index d932a19f7d2..e778e383194 100644 --- a/src/plugins/projectexplorer/localapplicationruncontrol.cpp +++ b/src/plugins/projectexplorer/localapplicationruncontrol.cpp @@ -122,6 +122,11 @@ bool LocalApplicationRunControl::isRunning() const return m_applicationLauncher.isRunning(); } +QIcon LocalApplicationRunControl::icon() const +{ + return QIcon(ProjectExplorer::Constants::ICON_RUN_SMALL); +} + void LocalApplicationRunControl::slotAppendMessage(const QString &err, OutputFormat format) { diff --git a/src/plugins/projectexplorer/localapplicationruncontrol.h b/src/plugins/projectexplorer/localapplicationruncontrol.h index 061f4a317bf..a796fe999cb 100644 --- a/src/plugins/projectexplorer/localapplicationruncontrol.h +++ b/src/plugins/projectexplorer/localapplicationruncontrol.h @@ -63,6 +63,7 @@ public: virtual void start(); virtual StopResult stop(); virtual bool isRunning() const; + virtual QIcon icon() const; private slots: void processExited(int exitCode); void slotAppendMessage(const QString &err, ProjectExplorer::OutputFormat isError); diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp index be044ae4f05..4d738e347c4 100644 --- a/src/plugins/projectexplorer/outputwindow.cpp +++ b/src/plugins/projectexplorer/outputwindow.cpp @@ -88,11 +88,8 @@ OutputPane::OutputPane() : m_reRunButton(new QToolButton), m_stopButton(new QToolButton) { - m_runIcon.addFile(Constants::ICON_RUN); - m_runIcon.addFile(Constants::ICON_RUN_SMALL); - // Rerun - m_reRunButton->setIcon(m_runIcon); + m_reRunButton->setIcon(QIcon(ProjectExplorer::Constants::ICON_RUN_SMALL)); m_reRunButton->setToolTip(tr("Re-run this run-configuration")); m_reRunButton->setAutoRaise(true); m_reRunButton->setEnabled(false); @@ -396,7 +393,7 @@ void OutputPane::tabChanged(int i) RunControl *rc = m_runControlTabs.at(index).runControl; m_stopAction->setEnabled(rc->isRunning()); m_reRunButton->setEnabled(!rc->isRunning()); - m_reRunButton->setIcon(m_runIcon); + m_reRunButton->setIcon(rc->icon()); } } @@ -406,7 +403,7 @@ void OutputPane::runControlStarted() if (current && current == sender()) { m_reRunButton->setEnabled(false); m_stopAction->setEnabled(true); - m_reRunButton->setIcon(m_runIcon); + m_reRunButton->setIcon(current->icon()); } } @@ -427,7 +424,7 @@ void OutputPane::runControlFinished() if (current && current == sender()) { m_reRunButton->setEnabled(true); m_stopAction->setEnabled(false); - m_reRunButton->setIcon(m_runIcon); + m_reRunButton->setIcon(current->icon()); } // Check for asynchronous close. Close the tab. if (m_runControlTabs.at(senderIndex).asyncClosing) diff --git a/src/plugins/projectexplorer/outputwindow.h b/src/plugins/projectexplorer/outputwindow.h index 76a439d7cfb..8b7216a294c 100644 --- a/src/plugins/projectexplorer/outputwindow.h +++ b/src/plugins/projectexplorer/outputwindow.h @@ -146,7 +146,6 @@ private: QAction *m_stopAction; QToolButton *m_reRunButton; QToolButton *m_stopButton; - QIcon m_runIcon; }; diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index faf8a95aa98..50ac67a1548 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -42,6 +42,7 @@ #include <QtCore/QMetaType> #include <QtCore/QWeakPointer> #include <QtGui/QWidget> +#include <QtGui/QIcon> namespace ProjectExplorer { @@ -252,6 +253,10 @@ public: virtual StopResult stop() = 0; virtual bool isRunning() const = 0; virtual QString displayName() const; + /// \returns the icon to be shown in the outputwindow + // TODO the icon differs currently only per "mode" + // so this is more flexibel then it needs to be + virtual QIcon icon() const = 0; bool sameRunConfiguration(const RunControl *other) const; diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp index 01620f96e06..edee8661ab3 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp @@ -113,6 +113,11 @@ bool QmlRunControl::isRunning() const return m_applicationLauncher.isRunning(); } +QIcon QmlRunControl::icon() const +{ + return QIcon(ProjectExplorer::Constants::ICON_RUN_SMALL); +} + void QmlRunControl::slotBringApplicationToForeground(qint64 pid) { bringApplicationToForeground(pid); diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h index 5def7465962..df44e440339 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h @@ -54,6 +54,7 @@ public: virtual void start(); virtual StopResult stop(); virtual bool isRunning() const; + virtual QIcon icon() const; private slots: void processExited(int exitCode); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp index 432f76695c3..e5ffd635e77 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp @@ -140,6 +140,11 @@ bool MaemoRunControl::isRunning() const return m_running; } +QIcon MaemoRunControl::icon() const +{ + return QIcon(ProjectExplorer::Constants::ICON_RUN_SMALL); +} + void MaemoRunControl::handleError(const QString &errString) { stop(); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h index 5e92064fa33..5b81cb8ba26 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h @@ -55,6 +55,7 @@ public: virtual void start(); virtual StopResult stop(); virtual bool isRunning() const; + virtual QIcon icon() const; private slots: void startExecution(); diff --git a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp index ac5977d0d40..2bdf165c53e 100644 --- a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp @@ -47,6 +47,7 @@ #include <coreplugin/icore.h> #include <utils/qtcassert.h> +#include <projectexplorer/projectexplorerconstants.h> #include <symbianutils/symbiandevicemanager.h> @@ -110,6 +111,11 @@ bool CodaRunControl::isRunning() const return m_state >= StateConnecting; } +QIcon CodaRunControl::icon() const +{ + return QIcon(ProjectExplorer::Constants::ICON_DEBUG_SMALL); +} + bool CodaRunControl::setupLauncher() { QTC_ASSERT(!m_codaDevice, return false); diff --git a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h index 72a667062e4..382b0f9f64b 100644 --- a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h +++ b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.h @@ -63,6 +63,7 @@ public: virtual ~CodaRunControl(); virtual bool isRunning() const; + virtual QIcon icon() const; static QMessageBox *createCodaWaitingMessageBox(QWidget *parent = 0); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp index 343c23e9dd4..1bbde9567e4 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp @@ -40,6 +40,8 @@ #include "qt4projectmanagerconstants.h" #include "qtoutputformatter.h" +#include <projectexplorer/projectexplorerconstants.h> + #include <utils/qtcassert.h> #include <utils/detailswidget.h> @@ -369,6 +371,11 @@ bool S60EmulatorRunControl::isRunning() const return m_applicationLauncher.isRunning(); } +QIcon S60EmulatorRunControl::icon() const +{ + return QIcon(ProjectExplorer::Constants::ICON_RUN_SMALL); +} + void S60EmulatorRunControl::slotError(const QString & err) { appendMessage(err, ErrorMessageFormat); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h index 38162aba356..b7bf4427ea6 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.h @@ -146,6 +146,7 @@ public: void start(); virtual StopResult stop(); bool isRunning() const; + QIcon icon() const; private slots: void processExited(int exitCode); diff --git a/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.cpp index c60478385cd..8985565b8bf 100644 --- a/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.cpp @@ -45,6 +45,7 @@ #include <symbianutils/bluetoothlistener_gui.h> #include <symbianutils/launcher.h> #include <symbianutils/symbiandevicemanager.h> +#include <projectexplorer/projectexplorerconstants.h> #include <utils/qtcassert.h> @@ -97,7 +98,11 @@ bool TrkRunControl::isRunning() const return m_launcher && (m_launcher->state() == trk::Launcher::Connecting || m_launcher->state() == trk::Launcher::Connected || m_launcher->state() == trk::Launcher::WaitingForTrk); +} +QIcon TrkRunControl::icon() const +{ + return QIcon(ProjectExplorer::Constants::ICON_DEBUG_SMALL); } bool TrkRunControl::setupLauncher() diff --git a/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.h b/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.h index 8bb4c58d8a8..d1ad5b2032d 100644 --- a/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.h +++ b/src/plugins/qt4projectmanager/qt-s60/trkruncontrol.h @@ -60,6 +60,7 @@ public: TrkRunControl(ProjectExplorer::RunConfiguration *runConfiguration, const QString &mode); ~TrkRunControl(); virtual bool isRunning() const; + virtual QIcon icon() const; static QMessageBox *createTrkWaitingMessageBox(const QString &port, QWidget *parent = 0); -- GitLab