diff options
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index aa7dab53ff..bb8c8db76c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -46,6 +46,7 @@ #include <qt4projectmanager/qtversionmanager.h> #include <qt4projectmanager/qt4projectmanagerconstants.h> #include <qt4projectmanager/qmlobservertool.h> +#include <qt4projectmanager/qtoutputformatter.h> #include <QFormLayout> #include <QComboBox> @@ -165,6 +166,15 @@ int QmlProjectRunConfiguration::qtVersionId() const return m_qtVersionId; } +void QmlProjectRunConfiguration::setQtVersionId(int id) +{ + if (m_qtVersionId == id) + return; + + m_qtVersionId = id; + qmlTarget()->qmlProject()->refresh(QmlProject::Configuration); +} + Qt4ProjectManager::QtVersion *QmlProjectRunConfiguration::qtVersion() const { if (m_qtVersionId == -1) @@ -249,6 +259,10 @@ QWidget *QmlProjectRunConfiguration::createConfigurationWidget() return detailsWidget; } +ProjectExplorer::OutputFormatter *QmlProjectRunConfiguration::createOutputFormatter() const +{ + return new Qt4ProjectManager::QtOutputFormatter(qmlTarget()->qmlProject()); +} QString QmlProjectRunConfiguration::mainScript() const { @@ -311,7 +325,7 @@ void QmlProjectRunConfiguration::onQtVersionSelectionChanged() { QVariant data = m_qtVersionComboBox.data()->itemData(m_qtVersionComboBox.data()->currentIndex()); QTC_ASSERT(data.isValid() && data.canConvert(QVariant::Int), return) - m_qtVersionId = data.toInt(); + setQtVersionId(data.toInt()); updateEnabled(); } @@ -348,7 +362,7 @@ QVariantMap QmlProjectRunConfiguration::toMap() const bool QmlProjectRunConfiguration::fromMap(const QVariantMap &map) { - m_qtVersionId = map.value(QLatin1String(Constants::QML_VIEWER_QT_KEY), -1).toInt(); + setQtVersionId(map.value(QLatin1String(Constants::QML_VIEWER_QT_KEY), -1).toInt()); m_qmlViewerArgs = map.value(QLatin1String(Constants::QML_VIEWER_ARGUMENTS_KEY)).toString(); m_scriptFile = map.value(QLatin1String(Constants::QML_MAINSCRIPT_KEY), M_CURRENT_FILE).toString(); @@ -411,14 +425,15 @@ void QmlProjectRunConfiguration::updateQtVersions() // if (!qtVersions->isValidId(m_qtVersionId) || !isValidVersion(qtVersions->version(m_qtVersionId))) { - m_qtVersionId = -1; + int newVersionId = -1; // take first one you find foreach (Qt4ProjectManager::QtVersion *version, qtVersions->validVersions()) { if (isValidVersion(version)) { - m_qtVersionId = version->uniqueId(); + newVersionId = version->uniqueId(); break; } } + setQtVersionId(newVersionId); } updateEnabled(); |