diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2010-10-18 20:59:12 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2010-10-18 20:59:12 +0200 |
commit | dfee3388afc14990db6fae95df8b28d113b55d27 (patch) | |
tree | c5d5c5ded1a65a2f5d4a379828ae935416f08844 /src/plugins/qmlprojectmanager | |
parent | f3cb1f0bf33326c65c2d49c21addb813a86e19be (diff) | |
parent | 9240ceaf354580e20c962ce52870faecccc2ad5a (diff) | |
download | qt-creator-dfee3388afc14990db6fae95df8b28d113b55d27.tar.gz |
Merge remote branch 'origin/2.1'
Conflicts:
share/qtcreator/templates/qmlapp/app.pro
src/libs/utils/filesearch.cpp
Diffstat (limited to 'src/plugins/qmlprojectmanager')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlproject.cpp | 16 | ||||
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp | 23 | ||||
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h | 3 |
3 files changed, 38 insertions, 4 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index 83486bbaf9..e74f2683b2 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -38,6 +38,7 @@ #include <extensionsystem/pluginmanager.h> #include <projectexplorer/filewatcher.h> #include <qt4projectmanager/qmldumptool.h> +#include <qt4projectmanager/qtversionmanager.h> #include <qmljs/qmljsmodelmanagerinterface.h> #include <QTextStream> @@ -171,6 +172,21 @@ QStringList QmlProject::importPaths() const QStringList importPaths; if (m_projectItem) importPaths = m_projectItem.data()->importPaths(); + + // add the default import path for the target Qt version + if (activeTarget()) { + const QmlProjectRunConfiguration *runConfig = + qobject_cast<QmlProjectRunConfiguration*>(activeTarget()->activeRunConfiguration()); + if (runConfig) { + const Qt4ProjectManager::QtVersion *qtVersion = runConfig->qtVersion(); + if (qtVersion && qtVersion->isValid()) { + const QString qtVersionImportPath = qtVersion->versionInfo().value("QT_INSTALL_IMPORTS"); + if (!qtVersionImportPath.isEmpty()) + importPaths += qtVersionImportPath; + } + } + } + return importPaths; } 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(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h index 7381fa1b54..5942a76c0a 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h @@ -83,6 +83,8 @@ public: // RunConfiguration virtual QWidget *createConfigurationWidget(); + ProjectExplorer::OutputFormatter *createOutputFormatter() const; + QVariantMap toMap() const; public slots: @@ -111,6 +113,7 @@ protected: private: void ctor(); static bool isValidVersion(Qt4ProjectManager::QtVersion *version); + void setQtVersionId(int id); // absolute path to current file (if being used) QString m_currentFileFilename; |