From 8d85597aae122c5a5689e8fa0b673983d346b702 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 26 Jul 2011 10:45:45 +0200 Subject: [PATCH] DebuggingHelpers: Update after built for newly added versions One can already build debugging helpers for Qt Versions not yet registered to QtVersionManager - which resulted in a QTC_ASSERT + the changes after the built were not picked up. Change-Id: I12a769df6e18a05b0d1677fd913f4064efed3429 Reviewed-on: http://codereview.qt.nokia.com/2168 Reviewed-by: Qt Sanity Bot Reviewed-by: Daniel Teske --- src/plugins/qtsupport/debugginghelperbuildtask.cpp | 5 +++-- src/plugins/qtsupport/debugginghelperbuildtask.h | 4 +++- src/plugins/qtsupport/qtoptionspage.cpp | 5 ----- src/plugins/qtsupport/qtversionmanager.cpp | 7 +------ src/plugins/qtsupport/qtversionmanager.h | 2 +- 5 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/plugins/qtsupport/debugginghelperbuildtask.cpp b/src/plugins/qtsupport/debugginghelperbuildtask.cpp index 7d38af6afc7..0818f879899 100644 --- a/src/plugins/qtsupport/debugginghelperbuildtask.cpp +++ b/src/plugins/qtsupport/debugginghelperbuildtask.cpp @@ -101,8 +101,8 @@ DebuggingHelperBuildTask::DebuggingHelperBuildTask(const BaseQtVersion *version, m_mkspec = version->mkspec(); // Make sure QtVersion cache is invalidated - connect(this, SIGNAL(finished(int,QString,DebuggingHelperBuildTask::Tools)), - QtVersionManager::instance(), SLOT(updateQtVersion(int)), + connect(this, SIGNAL(updateQtVersions(QString)), + QtVersionManager::instance(), SLOT(updateDumpFor(QString)), Qt::QueuedConnection); } @@ -156,6 +156,7 @@ void DebuggingHelperBuildTask::run(QFutureInterface &future) log(result, QString()); } + emit updateQtVersions(m_qmakeCommand); emit finished(m_qtId, m_log, m_tools); deleteLater(); } diff --git a/src/plugins/qtsupport/debugginghelperbuildtask.h b/src/plugins/qtsupport/debugginghelperbuildtask.h index 464c7f53b40..eaaef037692 100644 --- a/src/plugins/qtsupport/debugginghelperbuildtask.h +++ b/src/plugins/qtsupport/debugginghelperbuildtask.h @@ -68,9 +68,11 @@ public: static Tools availableTools(const BaseQtVersion *version); signals: + void finished(int qtVersionId, const QString &output, DebuggingHelperBuildTask::Tools tools); + // used internally void logOutput(const QString &output, bool bringToForeground); - void finished(int qtVersionId, const QString &output, DebuggingHelperBuildTask::Tools tools); + void updateQtVersions(const QString &qmakeCommand); private: bool buildDebuggingHelper(QFutureInterface &future); diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index ca9a457c66f..d3231e291d2 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -288,11 +288,6 @@ void QtOptionsPageWidget::debuggingHelperBuildFinished(int qtVersionId, const QS if (tools & DebuggingHelperBuildTask::QmlObserver) success &= version->hasQmlObserver(); - // Update bottom control if the selection is still the same - if (index == currentIndex()) { - updateDebuggingHelperUi(); - } - if (!success) showDebuggingBuildLog(item); } diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index a259363c174..6c8878a1582 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -498,13 +498,8 @@ void QtVersionManager::updateDocumentation() helpManager->registerDocumentation(files); } -void QtVersionManager::updateQtVersion(int id) +void QtVersionManager::updateDumpFor(const QString &qmakeCommand) { - BaseQtVersion *qtVersion = version(id); - QTC_ASSERT(qtVersion, return); - - // update actually all Qt versions with the same qmake command - const QString qmakeCommand = qtVersion->qmakeCommand(); foreach (BaseQtVersion *v, versions()) { if (v->qmakeCommand() == qmakeCommand) v->recheckDumper(); diff --git a/src/plugins/qtsupport/qtversionmanager.h b/src/plugins/qtsupport/qtversionmanager.h index 83462411870..9ab0f65529a 100644 --- a/src/plugins/qtsupport/qtversionmanager.h +++ b/src/plugins/qtsupport/qtversionmanager.h @@ -124,7 +124,7 @@ signals: void updateExamples(QString, QString, QString); public slots: - void updateQtVersion(int id); + void updateDumpFor(const QString &qmakeCommand); private slots: void updateSettings();