summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2013-01-21 13:54:20 +0100
committerKai Koehne <kai.koehne@digia.com>2013-01-21 15:20:37 +0100
commita1ef043bfbfa0e24c73fb77addac361fa9d2913e (patch)
tree94a592d3770e7a3cd8b423bad37cd342bf79c854 /src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
parent459d471c2f9ddc9c4023c8396866e168f2a9e2ba (diff)
downloadqt-creator-a1ef043bfbfa0e24c73fb77addac361fa9d2913e.tar.gz
QmlProject: Detect import type from mainFile
Detect the default import (QtQuick 1.x vs QtQuick 2.x) from main file, and use it to restrict kits + select the right runtime. Task-number: QTCREATORBUG-8358 Change-Id: Ib8cfd3eb989953f607fee6043c43e588f798c774 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp')
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
index 03b76bfe1e..2efde35b5b 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp
@@ -59,12 +59,26 @@ QList<Core::Id> QmlProjectRunConfigurationFactory::availableCreationIds(ProjectE
QtSupport::BaseQtVersion *version
= QtSupport::QtKitInformation::qtVersion(parent->kit());
- // put qmlscene first (so that it is the default) for Qt 5.0.0
+ // First id will be the default run configuration
QList<Core::Id> list;
- if (version && version->qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0))
- list << Core::Id(Constants::QML_SCENE_RC_ID);
-
- list << Core::Id(Constants::QML_VIEWER_RC_ID);
+ if (version && version->qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0)) {
+ QmlProject *project = static_cast<QmlProject*>(parent->project());
+ switch (project->defaultImport()) {
+ case QmlProject::QtQuick1Import:
+ list << Core::Id(Constants::QML_VIEWER_RC_ID);
+ break;
+ case QmlProject::QtQuick2Import:
+ list << Core::Id(Constants::QML_SCENE_RC_ID);
+ break;
+ case QmlProject::UnknownImport:
+ default:
+ list << Core::Id(Constants::QML_SCENE_RC_ID);
+ list << Core::Id(Constants::QML_VIEWER_RC_ID);
+ break;
+ }
+ } else {
+ list << Core::Id(Constants::QML_VIEWER_RC_ID);
+ }
return list;
}