diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/MainForm.ui.qml.tpl b/share/qtcreator/templates/wizards/projects/qtquickapplication/MainForm.ui.qml.tpl
deleted file mode 100644
index a41e66157c0..00000000000
--- a/share/qtcreator/templates/wizards/projects/qtquickapplication/MainForm.ui.qml.tpl
+++ /dev/null
@@ -1,29 +0,0 @@
-import QtQuick %{QtQuickVersion}
-
-Rectangle {
- property alias mouseArea: mouseArea
- property alias textEdit: textEdit
-
- width: 360
- height: 360
-
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- }
-
- TextEdit {
- id: textEdit
- text: qsTr("Enter some text...")
- verticalAlignment: Text.AlignVCenter
- anchors.top: parent.top
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.topMargin: 20
- Rectangle {
- anchors.fill: parent
- anchors.margins: -10
- color: "transparent"
- border.width: 1
- }
- }
-}
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/app.qbs b/share/qtcreator/templates/wizards/projects/qtquickapplication/app.qbs
new file mode 100644
index 00000000000..679e14eaa7e
--- /dev/null
+++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/app.qbs
@@ -0,0 +1,38 @@
+import qbs
+
+Project {
+ minimumQbsVersion: "1.7.1"
+
+ CppApplication {
+ Depends { name: "Qt.core" }
+ Depends { name: "Qt.quick" }
+
+ // Additional import path used to resolve QML modules in Qt Creator's code model
+ property pathList qmlImportPaths: []
+
+ cpp.cxxLanguageVersion: "c++11"
+
+ cpp.defines: [
+ // The following define makes your compiler emit warnings if you use
+ // any feature of Qt which as been marked deprecated (the exact warnings
+ // depend on your compiler). Please consult the documentation of the
+ // deprecated API in order to know how to port your code away from it.
+ "QT_DEPRECATED_WARNINGS",
+
+ // You can also make your code fail to compile if you use deprecated APIs.
+ // In order to do so, uncomment the following line.
+ // You can also select to disable deprecated APIs only up to a certain version of Qt.
+ //"QT_DISABLE_DEPRECATED_BEFORE=0x060000" // disables all the APIs deprecated before Qt 6.0.0
+ ]
+
+ files: [
+ "%{MainCppFileName}",
+ "qml.qrc",
+ ]
+
+ Group { // Properties for the produced executable
+ fileTagsFilter: product.type
+ qbs.install: true
+ }
+ }
+}
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/icon-empty.png b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/icon.png
similarity index 100%
rename from share/qtcreator/templates/wizards/projects/qtquickapplication/icon-empty.png
rename to share/qtcreator/templates/wizards/projects/qtquickapplication/empty/icon.png
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/icon-empty@2x.png b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/icon@2x.png
similarity index 100%
rename from share/qtcreator/templates/wizards/projects/qtquickapplication/icon-empty@2x.png
rename to share/qtcreator/templates/wizards/projects/qtquickapplication/empty/icon@2x.png
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/main.qml.tpl b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/main.qml.tpl
new file mode 100644
index 00000000000..6d8fab6a216
--- /dev/null
+++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/main.qml.tpl
@@ -0,0 +1,46 @@
+import QtQuick %{QtQuickVersion}
+import QtQuick.Window %{QtQuickWindowVersion}
+@if %{UseVirtualKeyboard}
+import %{QtQuickVirtualKeyboardImport}
+@endif
+
+Window {
+@if %{UseVirtualKeyboard}
+ id: window
+@endif
+ visible: true
+ width: 640
+ height: 480
+ title: qsTr("Hello World")
+@if %{UseVirtualKeyboard}
+
+ InputPanel {
+ id: inputPanel
+ z: 99
+ x: 0
+ y: window.height
+ width: window.width
+
+ states: State {
+ name: "visible"
+ when: inputPanel.active
+ PropertyChanges {
+ target: inputPanel
+ y: window.height - inputPanel.height
+ }
+ }
+ transitions: Transition {
+ from: ""
+ to: "visible"
+ reversible: true
+ ParallelAnimation {
+ NumberAnimation {
+ properties: "y"
+ duration: 250
+ easing.type: Easing.InOutQuad
+ }
+ }
+ }
+ }
+@endif
+}
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/qml.qrc b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/qml.qrc
new file mode 100644
index 00000000000..5f6483ac33f
--- /dev/null
+++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/qml.qrc
@@ -0,0 +1,5 @@
+
+
+ main.qml
+
+
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json
similarity index 61%
rename from share/qtcreator/templates/wizards/projects/qtquickapplication/wizard.json
rename to share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json
index 5f8be506997..521d046e933 100644
--- a/share/qtcreator/templates/wizards/projects/qtquickapplication/wizard.json
+++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json
@@ -1,13 +1,13 @@
{
"version": 1,
"supportedProjectTypes": [ "CMakeProjectManager.CMakeProject", "Qbs.QbsProject", "Qt4ProjectManager.Qt4Project" ],
- "id": "U.QtQuickApplication",
+ "id": "U.QtQuickApplicationEmpty",
"category": "F.Application",
- "trDescription": "Creates a deployable Qt Quick 2 application.",
- "trDisplayName": "Qt Quick Application",
+ "trDescription": "Creates a Qt Quick application that contains an empty window.",
+ "trDisplayName": "Qt Quick Application - Empty",
"trDisplayCategory": "Application",
- "icon": "icon-empty.png",
- "featuresRequired": [ "QtSupport.Wizards.FeatureQt.5.3" ],
+ "icon": "icon.png",
+ "featuresRequired": [ "QtSupport.Wizards.FeatureQt.5.6" ],
"enabled": "%{JS: [ %{Plugins} ].indexOf('QmakeProjectManager') >= 0 || [ %{Plugins} ].indexOf('QbsProjectManager') >= 0 || [ %{Plugins} ].indexOf('CMakeProjectManager') >= 0}",
"options":
@@ -17,14 +17,12 @@
{ "key": "QbsFile", "value": "%{JS: Util.fileName('%{ProjectDirectory}/%{ProjectName}', 'qbs')}" },
{ "key": "CMakeFile", "value": "%{ProjectDirectory}/CMakeLists.txt" },
{ "key": "MainCppFileName", "value": "%{JS: 'main.' + Util.preferredSuffix('text/x-c++src')}" },
- { "key": "QtQuickVersion", "value": "%{JS: %{QtVersion}.qtQuickVersion}" },
- { "key": "QtQuickWindowVersion", "value": "%{JS: %{QtVersion}.qtQuickWindowVersion}" },
- { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: %{QtVersion}.qtQuickVirtualKeyboardImport}" },
- { "key": "QtQuickVirtualKeyboardWhenVisible", "value": "%{JS: %{QtVersion}.qtQuickVirtualKeyboardWhenVisible}" },
+ { "key": "QtQuickVersion", "value": "%{JS: %{QtVersion}.QtQuickVersion}" },
+ { "key": "QtQuickWindowVersion", "value": "%{JS: %{QtVersion}.QtQuickWindowVersion}" },
+ { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: %{QtVersion}.QtQuickVirtualKeyboardImport}" },
{ "key": "QtQuickFeature", "value": "QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}" },
- { "key": "UiSupport", "value": "%{JS: '%{QtQuickVersion}' !== '2.3' }" },
- { "key": "IsUiFileInUse", "value": "%{JS: %{UiSupport} && %{QmlUiSplit} }" },
- { "key": "UseVirtualKeyboard", "value": "%{JS: [ %{Plugins} ].indexOf('Boot2Qt') >= 0 || [ %{Plugins} ].indexOf('Boot2QtQdb') >= 0}" }
+ { "key": "UseVirtualKeyboardByDefault", "value": "%{JS: [ %{Plugins} ].indexOf('Boot2Qt') >= 0 || [ %{Plugins} ].indexOf('Boot2QtQdb') >= 0}" },
+ { "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" }
],
"pages":
@@ -82,80 +80,55 @@
"type": "ComboBox",
"data":
{
- "index": 2,
+ "index": 0,
"items":
[
+ {
+ "trKey": "Qt 5.9",
+ "value":
+ "{
+ 'QtQuickVersion': '2.9',
+ 'QtQuickWindowVersion': '2.2',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1'
+ }"
+ },
{
"trKey": "Qt 5.8",
"value":
"{
- 'qtQuickVersion': '2.8',
- 'qtQuickWindowVersion': '2.2',
- 'qtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1',
- 'qtQuickVirtualKeyboardWhenVisible': 'inputPanel.active'
+ 'QtQuickVersion': '2.8',
+ 'QtQuickWindowVersion': '2.2',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1'
}"
},
{
"trKey": "Qt 5.7",
"value":
"{
- 'qtQuickVersion': '2.7',
- 'qtQuickWindowVersion': '2.2',
- 'qtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1',
- 'qtQuickVirtualKeyboardWhenVisible': 'inputPanel.active'
+ 'QtQuickVersion': '2.7',
+ 'QtQuickWindowVersion': '2.2',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1'
}"
},
{
"trKey": "Qt 5.6",
"value":
"{
- 'qtQuickVersion': '2.6',
- 'qtQuickWindowVersion': '2.2',
- 'qtQuickVirtualKeyboardImport': 'QtQuick.Enterprise.VirtualKeyboard 2.0',
- 'qtQuickVirtualKeyboardWhenVisible': 'inputPanel.active'
- }"
- },
- {
- "trKey": "Qt 5.5",
- "value":
- "{
- 'qtQuickVersion': '2.5',
- 'qtQuickWindowVersion': '2.2',
- 'qtQuickVirtualKeyboardImport': 'QtQuick.Enterprise.VirtualKeyboard 1.3',
- 'qtQuickVirtualKeyboardWhenVisible': 'Qt.inputMethod.visible'
- }"
- },
- {
- "trKey": "Qt 5.4",
- "value":
- "{
- 'qtQuickVersion': '2.4',
- 'qtQuickWindowVersion': '2.2',
- 'qtQuickVirtualKeyboardImport': 'QtQuick.Enterprise.VirtualKeyboard 1.0',
- 'qtQuickVirtualKeyboardWhenVisible': 'Qt.inputMethod.visible'
- }"
- },
- {
- "trKey": "Qt 5.3",
- "value":
- "{
- 'qtQuickVersion': '2.3',
- 'qtQuickWindowVersion': '2.2',
- 'qtQuickVirtualKeyboardImport': 'QtQuick.Enterprise.VirtualKeyboard 1.0',
- 'qtQuickVirtualKeyboardWhenVisible': 'Qt.inputMethod.visible'
+ 'QtQuickVersion': '2.6',
+ 'QtQuickWindowVersion': '2.2',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.Enterprise.VirtualKeyboard 2.0'
}"
}
]
}
},
{
- "name": "QmlUiSplit",
- "trDisplayName": "With ui.qml file",
+ "name": "UseVirtualKeyboard",
+ "trDisplayName": "Use Qt Virtual Keyboard.",
"type": "CheckBox",
- "visible": "%{UiSupport}",
"data":
{
- "checked": true
+ "checked": "%{JS: %{UseVirtualKeyboardByDefault}}"
}
}
]
@@ -183,24 +156,25 @@
"data":
[
{
- "source": "app.pro",
+ "source": "../app.pro",
"target": "%{ProFile}",
"openAsProject": true,
"condition": "%{JS: '%{BuildSystem}' === 'qmake'}"
},
{
- "source": "CMakeLists.txt",
+ "source": "../CMakeLists.txt",
+ "target": "CMakeLists.txt",
"openAsProject": true,
"condition": "%{JS: '%{BuildSystem}' === 'cmake'}"
},
{
- "source": "file.qbs",
+ "source": "../app.qbs",
"target": "%{QbsFile}",
"openAsProject": true,
"condition": "%{JS: '%{BuildSystem}' === 'qbs'}"
},
{
- "source": "main.cpp",
+ "source": "../main.cpp",
"target": "%{MainCppFileName}"
},
{
@@ -208,11 +182,6 @@
"target": "main.qml",
"openInEditor": true
},
- {
- "source": "MainForm.ui.qml.tpl",
- "target": "MainForm.ui.qml",
- "condition": "%{IsUiFileInUse}"
- },
{
"source": "qml.qrc"
},
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/main.cpp b/share/qtcreator/templates/wizards/projects/qtquickapplication/main.cpp
index 31af279601e..3b6ab97c69d 100644
--- a/share/qtcreator/templates/wizards/projects/qtquickapplication/main.cpp
+++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/main.cpp
@@ -2,10 +2,17 @@
%{JS: QtSupport.qtIncludes([], ["QtGui/QGuiApplication", "QtQml/QQmlApplicationEngine"])}
int main(int argc, char *argv[])
{
+@if %{SetQPAPhysicalSize}
+ qputenv("QT_QPA_EGLFS_PHYSICAL_WIDTH", QByteArray("213"));
+ qputenv("QT_QPA_EGLFS_PHYSICAL_HEIGHT", QByteArray("120"));
+
+@endif
@if %{UseVirtualKeyboard}
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
@endif
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/main.qml.tpl b/share/qtcreator/templates/wizards/projects/qtquickapplication/main.qml.tpl
deleted file mode 100644
index bf7b08db71f..00000000000
--- a/share/qtcreator/templates/wizards/projects/qtquickapplication/main.qml.tpl
+++ /dev/null
@@ -1,77 +0,0 @@
-import QtQuick %{QtQuickVersion}
-import QtQuick.Window %{QtQuickWindowVersion}
-@if %{UseVirtualKeyboard}
-import %{QtQuickVirtualKeyboardImport}
-@endif
-
-Window {
- visible: true
- width: 640
- height: 480
- title: qsTr("Hello World")
-@if %{UseVirtualKeyboard}
- id: root
-@endif
-
-@if %{IsUiFileInUse}
- MainForm {
- anchors.fill: parent
- mouseArea.onClicked: {
- console.log(qsTr('Clicked on background. Text: "' + textEdit.text + '"'))
- }
- }
-@else
- MouseArea {
- anchors.fill: parent
- onClicked: {
- console.log(qsTr('Clicked on background. Text: "' + textEdit.text + '"'))
- }
- }
-
- TextEdit {
- id: textEdit
- text: qsTr("Enter some text...")
- verticalAlignment: Text.AlignVCenter
- anchors.top: parent.top
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.topMargin: 20
- Rectangle {
- anchors.fill: parent
- anchors.margins: -10
- color: "transparent"
- border.width: 1
- }
- }
-@endif
-@if %{UseVirtualKeyboard}
-
- InputPanel {
- id: inputPanel
- z: 99
- x: 0
- y: root.height
- width: root.width
-
- states: State {
- name: "visible"
- when: %{QtQuickVirtualKeyboardWhenVisible}
- PropertyChanges {
- target: inputPanel
- y: root.height - inputPanel.height
- }
- }
- transitions: Transition {
- from: ""
- to: "visible"
- reversible: true
- ParallelAnimation {
- NumberAnimation {
- properties: "y"
- duration: 250
- easing.type: Easing.InOutQuad
- }
- }
- }
- }
-@endif
-}
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/qml.qrc b/share/qtcreator/templates/wizards/projects/qtquickapplication/qml.qrc
deleted file mode 100644
index 7f481016129..00000000000
--- a/share/qtcreator/templates/wizards/projects/qtquickapplication/qml.qrc
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- main.qml
-@if %{IsUiFileInUse}
- MainForm.ui.qml
-@endif
-
-
diff --git a/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json
index 259ebdc2bf2..ea3b5a136df 100644
--- a/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json
+++ b/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json
@@ -8,17 +8,17 @@
"trDisplayCategory": "Other Project",
"icon": "qtquickuiprototype.png",
"enabled": "%{JS: [ %{Plugins} ].indexOf('QmlProjectManager') >= 0}",
- "featuresRequired": [ "QtSupport.Wizards.FeatureQtQuick.Controls.1.3", "QtSupport.Wizards.FeatureQtQuickProject", "QtSupport.Wizards.FeatureQt" ],
+ "featuresRequired": [ "QtSupport.Wizards.FeatureQtQuickProject", "QtSupport.Wizards.FeatureQt" ],
"options":
[
{ "key": "QmlProjectFileName", "value": "%{JS: Util.fileName('%{ProjectDirectory}/%{ProjectName}', 'qmlproject')}" },
{ "key": "MainQmlFileName", "value": "%{JS: Util.fileName('%{ProjectName}', 'qml')}" },
- { "key": "QtQuickVersion", "value": "%{JS: %{QtVersion}.qtQuickVersion}" },
- { "key": "QtQuickWindowVersion", "value": "%{JS: %{QtVersion}.qtQuickWindowVersion}" },
- { "key": "UiSupport", "value": "%{JS: '%{QtQuickVersion}' !== '2.3' }" },
- { "key": "IsUiFileInUse", "value": "%{JS: %{UiSupport} && %{QmlUiSplit} }" },
- { "key": "UseVirtualKeyboard", "value": "false" }
+ { "key": "QtQuickVersion", "value": "%{JS: %{QtVersion}.QtQuickVersion}" },
+ { "key": "QtQuickWindowVersion", "value": "%{JS: %{QtVersion}.QtQuickWindowVersion}" },
+ { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: %{QtVersion}.QtQuickVirtualKeyboardImport}" },
+ { "key": "QtQuickFeature", "value": "QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}" },
+ { "key": "UseVirtualKeyboardByDefault", "value": "%{JS: [ %{Plugins} ].indexOf('Boot2Qt') >= 0 || [ %{Plugins} ].indexOf('Boot2QtQdb') >= 0}" }
],
"pages":
@@ -42,65 +42,52 @@
{
"items":
[
+ {
+ "trKey": "Qt 5.9",
+ "value":
+ "{
+ 'QtQuickVersion': '2.9',
+ 'QtQuickWindowVersion': '2.3',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1'
+ }"
+ },
{
"trKey": "Qt 5.8",
"value":
"{
- 'qtQuickVersion': '2.8',
- 'qtQuickWindowVersion': '2.2'
+ 'QtQuickVersion': '2.8',
+ 'QtQuickWindowVersion': '2.2',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1'
}"
},
{
"trKey": "Qt 5.7",
"value":
"{
- 'qtQuickVersion': '2.7',
- 'qtQuickWindowVersion': '2.2'
+ 'QtQuickVersion': '2.7',
+ 'QtQuickWindowVersion': '2.2',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.VirtualKeyboard 2.1'
}"
},
{
"trKey": "Qt 5.6",
"value":
"{
- 'qtQuickVersion': '2.6',
- 'qtQuickWindowVersion': '2.2'
- }"
- },
- {
- "trKey": "Qt 5.5",
- "value":
- "{
- 'qtQuickVersion': '2.5',
- 'qtQuickWindowVersion': '2.2'
- }"
- },
- {
- "trKey": "Qt 5.4",
- "value":
- "{
- 'qtQuickVersion': '2.4',
- 'qtQuickWindowVersion': '2.2'
- }"
- },
- {
- "trKey": "Qt 5.3",
- "value":
- "{
- 'qtQuickVersion': '2.3',
- 'qtQuickWindowVersion': '2.2'
+ 'QtQuickVersion': '2.6',
+ 'QtQuickWindowVersion': '2.2',
+ 'QtQuickVirtualKeyboardImport': 'QtQuick.Enterprise.VirtualKeyboard 2.0'
}"
}
]
}
},
{
- "name": "QmlUiSplit",
- "trDisplayName": "With ui.qml file",
+ "name": "UseVirtualKeyboard",
+ "trDisplayName": "Use Qt Virtual Keyboard.",
"type": "CheckBox",
- "visible": "%{UiSupport}",
"data":
{
- "checked": false
+ "checked": "%{JS: %{UseVirtualKeyboardByDefault}}"
}
}
]
@@ -123,15 +110,10 @@
"openAsProject": true
},
{
- "source": "../qtquickapplication/main.qml.tpl",
+ "source": "../qtquickapplication/empty/main.qml.tpl",
"target": "%{ProjectDirectory}/%{MainQmlFileName}",
"openInEditor": true
},
- {
- "source": "../qtquickapplication/MainForm.ui.qml.tpl",
- "target": "%{ProjectDirectory}/MainForm.ui.qml",
- "condition": "%{IsUiFileInUse}"
- },
{
"source": "../git.ignore",
"target": "%{ProjectDirectory}/.gitignore",
diff --git a/src/tools/icons/qtcreatoricons.svg b/src/tools/icons/qtcreatoricons.svg
index 4e1fbadcd25..c650b03cfd2 100644
--- a/src/tools/icons/qtcreatoricons.svg
+++ b/src/tools/icons/qtcreatoricons.svg
@@ -2208,7 +2208,7 @@
inkscape:connector-curvature="0" />