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>
This commit is contained in:
Kai Koehne
2013-01-21 13:54:20 +01:00
parent 459d471c2f
commit a1ef043bfb
3 changed files with 69 additions and 14 deletions

View File

@@ -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;
}