From 64fee9c5cb7f067880e0618c29e6ab5c479aebdf Mon Sep 17 00:00:00 2001 From: Kai Koehne <kai.koehne@nokia.com> Date: Mon, 4 Apr 2011 15:56:34 +0200 Subject: [PATCH] QmlProfiler: Enable attach action only if profiler is current tool --- src/plugins/analyzerbase/analyzermanager.cpp | 2 ++ src/plugins/analyzerbase/analyzermanager.h | 3 +++ src/plugins/qmlprofiler/qmlprofilertool.cpp | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index 7bda3560c43..00453b5b077 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -677,6 +677,8 @@ void AnalyzerManager::toolSelected(int idx) updateRunActions(); selectingTool = false; + + emit currentToolChanged(newTool); } void AnalyzerManager::toolSelected(QAction *action) diff --git a/src/plugins/analyzerbase/analyzermanager.h b/src/plugins/analyzerbase/analyzermanager.h index 704501e8bdf..2506d63ead7 100644 --- a/src/plugins/analyzerbase/analyzermanager.h +++ b/src/plugins/analyzerbase/analyzermanager.h @@ -121,6 +121,9 @@ private slots: void loadToolSettings(Analyzer::IAnalyzerTool *tool); void updateRunActions(); +signals: + void currentToolChanged(Analyzer::IAnalyzerTool *tool); + private: class AnalyzerManagerPrivate; friend class AnalyzerManagerPrivate; diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index 3a4b858baf6..5c934212235 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -204,6 +204,11 @@ void QmlProfilerTool::initialize(ExtensionSystem::IPlugin */*plugin*/) command->setAttribute(Core::Command::CA_UpdateText); manalyzer->addAction(command, Analyzer::Constants::G_ANALYZER_STARTSTOP); connect(d->m_attachAction, SIGNAL(triggered()), this, SLOT(attach())); + + Analyzer::AnalyzerManager *analyzerMgr = Analyzer::AnalyzerManager::instance(); + connect(analyzerMgr, SIGNAL(currentToolChanged(Analyzer::IAnalyzerTool*)), + this, SLOT(updateAttachAction())); + updateAttachAction(); } @@ -344,4 +349,7 @@ void QmlProfilerTool::updateAttachAction() d->m_attachAction->setText(tr("Attach...")); } } + + d->m_attachAction->setEnabled(Analyzer::AnalyzerManager::instance()->currentTool() == this); } + -- GitLab