summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprojectmanager
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2010-10-18 20:59:12 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2010-10-18 20:59:12 +0200
commitdfee3388afc14990db6fae95df8b28d113b55d27 (patch)
treec5d5c5ded1a65a2f5d4a379828ae935416f08844 /src/plugins/qmlprojectmanager
parentf3cb1f0bf33326c65c2d49c21addb813a86e19be (diff)
parent9240ceaf354580e20c962ce52870faecccc2ad5a (diff)
downloadqt-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.cpp16
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp23
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h3
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;