From 53c0b82a93df3e79ae1f8f896e9cd164148bebf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20K=C3=B6hne?= Date: Thu, 6 May 2021 14:45:52 +0200 Subject: [PATCH] Add "Minimal required Qt version: Qt 6" option to QQ application wizards Provide a Qt 6 option that does not use any versioned imports. Also make Qt 5.15 the new default. Fixes: QTCREATORBUG-24973 Change-Id: I43714e5e344d1d91d35c5ad298edf28bc32ff7d6 Reviewed-by: Alessandro Portale --- .../projects/qtquickapplication/empty/wizard.json | 13 +++++++++++-- .../projects/qtquickapplication/scroll/wizard.json | 13 +++++++++++-- .../projects/qtquickapplication/stack/wizard.json | 13 +++++++++++-- .../projects/qtquickapplication/swipe/wizard.json | 13 +++++++++++-- .../wizards/projects/qtquickuiprototype/wizard.json | 13 +++++++++++-- src/plugins/qtsupport/baseqtversion.cpp | 4 ++++ 6 files changed, 59 insertions(+), 10 deletions(-) diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json index 444f22d2de5..dae4a36ef20 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json @@ -20,7 +20,7 @@ { "key": "QtQuickVersion", "value": "%{JS: value('QtVersion').QtQuickVersion}" }, { "key": "QtQuickWindowVersion", "value": "%{JS: value('QtVersion').QtQuickWindowVersion}" }, { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" }, - { "key": "QtQuickFeature", "value": "QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}" }, + { "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" }, { "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" }, { "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" }, { "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" } @@ -83,9 +83,18 @@ "persistenceKey": "QtQuick.minimumQtVersion", "data": { - "index": 3, + "index": 1, "items": [ + { + "trKey": "Qt 6", + "value": + { + "QtQuickVersion": "", + "QtQuickWindowVersion": "", + "QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard" + } + }, { "trKey": "Qt 5.15", "value": diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/scroll/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickapplication/scroll/wizard.json index 5ebf0852168..3106441dd99 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/scroll/wizard.json +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/scroll/wizard.json @@ -22,7 +22,7 @@ { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" }, { "key": "QtQuickControlsStyle", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyle}" }, { "key": "QtQuickControlsStyleTheme", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyleTheme}" }, - { "key": "QtQuickFeature", "value": "QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}" }, + { "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" }, { "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" }, { "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" }, { "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" } @@ -85,9 +85,18 @@ "persistenceKey": "QtQuick.minimumQtVersion", "data": { - "index": 3, + "index": 1, "items": [ + { + "trKey": "Qt 6", + "value": + { + "QtQuickVersion": "", + "QtQuickControlsVersion": "", + "QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard" + } + }, { "trKey": "Qt 5.15", "value": diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/stack/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickapplication/stack/wizard.json index 2f0d0353f54..4fef77d51d7 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/stack/wizard.json +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/stack/wizard.json @@ -22,7 +22,7 @@ { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" }, { "key": "QtQuickControlsStyle", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyle}" }, { "key": "QtQuickControlsStyleTheme", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyleTheme}" }, - { "key": "QtQuickFeature", "value": "QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}" }, + { "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" }, { "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" }, { "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" }, { "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" } @@ -85,9 +85,18 @@ "persistenceKey": "QtQuick.minimumQtVersion", "data": { - "index": 3, + "index": 1, "items": [ + { + "trKey": "Qt 6", + "value": + { + "QtQuickVersion": "", + "QtQuickControlsVersion": "", + "QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard" + } + }, { "trKey": "Qt 5.15", "value": diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/swipe/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickapplication/swipe/wizard.json index 804916d77a8..add12435030 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/swipe/wizard.json +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/swipe/wizard.json @@ -22,7 +22,7 @@ { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" }, { "key": "QtQuickControlsStyle", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyle}" }, { "key": "QtQuickControlsStyleTheme", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyleTheme}" }, - { "key": "QtQuickFeature", "value": "QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}" }, + { "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" }, { "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" }, { "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" }, { "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" } @@ -85,9 +85,18 @@ "persistenceKey": "QtQuick.minimumQtVersion", "data": { - "index": 3, + "index": 1, "items": [ + { + "trKey": "Qt 6", + "value": + { + "QtQuickVersion": "", + "QtQuickControlsVersion": "", + "QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard" + } + }, { "trKey": "Qt 5.15", "value": diff --git a/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json index ac39bb90be6..96cd94dad53 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json +++ b/share/qtcreator/templates/wizards/projects/qtquickuiprototype/wizard.json @@ -17,7 +17,7 @@ { "key": "QtQuickVersion", "value": "%{JS: value('QtVersion').QtQuickVersion}" }, { "key": "QtQuickWindowVersion", "value": "%{JS: value('QtVersion').QtQuickWindowVersion}" }, { "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" }, - { "key": "QtQuickFeature", "value": "QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}" }, + { "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" }, { "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" } ], @@ -40,9 +40,18 @@ "type": "ComboBox", "data": { - "index": 3, + "index": 1, "items": [ + { + "trKey": "Qt 6", + "value": + { + "QtQuickVersion": "", + "QtQuickWindowVersion": "", + "QtQuickVirtualKeyboardImport": "" + } + }, { "trKey": "Qt 5.15", "value": diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 26d75c1b90f..f848ebc544e 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -495,6 +495,10 @@ QSet BaseQtVersion::availableFeatures() const if (qtVersion().matches(5, 15)) return features; + // Qt 6 uses versionless imports + features.unite(versionedIds(Constants::FEATURE_QT_QUICK_PREFIX, 6, -1)); + features.unite(versionedIds(Constants::FEATURE_QT_QUICK_CONTROLS_2_PREFIX, 6, -1)); + return features; }