Commit Graph

83 Commits

Author SHA1 Message Date
Eike Ziller
6bb918adab Merge remote-tracking branch 'origin/4.15'
Change-Id: Ic839ab43a723ab22cc83e5b0d823ec6121cb6701
2021-05-10 13:50:58 +02:00
Kai Köhne
1e80ed9b78 Qt Quick Wizards: Remove Qt versions older than Qt 5.12
That doesn't mean we don't support older versions. But I don't think
we should advertise creating new projects for it.

Change-Id: Ia9b97cc072232238baffd10b159f604f1a6413d1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-05-07 13:18:41 +00:00
Kai Köhne
53c0b82a93 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 <alessandro.portale@qt.io>
2021-05-06 15:00:24 +00:00
Mitch Curtis
357e70279c Update usages of Qt Quick Controls 2 styles
The Default style was renamed to Basic
(9219e86aa571d8b2f5da1ec92a461e5add38f57c) and we now default to a
platform-specific style (8b534487044dfb3b464431ecb91ef4e0864af4ed) if
available.

Task-number: QTBUG-85984
Task-number: QTBUG-86403
Change-Id: I66d2188a0c45605abdbbd8c71396b16407166d75
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-05-06 12:39:32 +00:00
Alexandru Croitor
27f299d9b5 CMake Wizards: Advertise manual finalisation
In qmake projects it is possible to run arbitrary qmake commands after
the whole project is parsed, which is used extensively by Qt to do
things like importing qml plugins, generating android deployment
files, etc.

In CMake this feature was implemented in 3.19+ and we leverage this
feature to do all the things described above when such a version is
used.

But when projects are built with earlier CMake versions, it's better
for users to do these steps manually, rather than letting them to
happen at qt_add_executable call time, which limits certain
configurability.

That can be achieved by adding a call to qt_finalize_executable at the
very end of the directory scope where the target was created,
in addition to adding the MANUAL_FINALIZATION option to the
qt_add_executable call.

Augment the wizard templates to advertise the existence of
qt_finalize_executable, as well as making sure that projects created
by Creator can work reasonably well with older CMake versions as well.

Change-Id: Icf60eae993cf815f6cce6ed659fe35264b016f62
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-17 13:12:18 +00:00
Alexandru Croitor
af184fdd4c CMake Wizards: Add Qt 6 specific static qml plugin importing
For Qml / Qt Quick projects to work with static Qt builds, the
application targets need to link to the static Qml plugins, which
is done by calling qt_import_qml_plugins.

Starting with Qt 6.1 and CMake 3.18+ that will be done automatically in
qt_add_application via qt_finalize_executable, as per
c71c48f5125c116f01f615f51f10e4f2877b2b1d

But for Qt 6.0 and lower CMake versions, we need to call
qt_import_qml_plugins manually, thus we include it in the
Qt Quick wizard template so that it works with all Qt 6 versions
and lower CMake versions.

Amends b72c1d11e6.

Task-number: QTCREATORBUG-23574
Change-Id: Id8db3352ecbb8441eda9f5c9638c7ea6ac1fee96
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-15 08:45:12 +00:00
Eike Ziller
b72c1d11e6 CMake Wizards: Add properties that are required for iOS
Running applications on iOS requires declaring a bundle identifier and
version numbers in the application's Info.plist file.

Unconditionally add them, since they also make sense for desktop
applications, even if they are not strictly required.

Fixes: QTCREATORBUG-25297
Task-number: QTCREATORBUG-23574
Change-Id: I2269bec2d4eaf3e8dd3332a027b284049b3b8b42
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-15 08:21:58 +00:00
Christian Kandeler
f19baeb9a5 Wizards: Extend translation support
Don't just create the ts file, but also make sure it is embedded in the
application (if supported by the build system) and make the application
load it if it matches the current locale.

Task-number: QTCREATORBUG-25079
Change-Id: Ie3a0b1975531b12acb008e8c1312dab97f158751
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-25 14:21:33 +00:00
Kai Köhne
ca992488c0 Fix use of translations in Qt wizards for Qt 6
qt_create_translation was introduced in Qt 5.15. But we also still
support older Qt versions, so we cannot use it unconditionally.

Fixes: QTCREATORBUG-25070
Change-Id: I81de7e19b42e0e8cb9cb23e14909e71c534dc0da
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-12-11 16:48:19 +00:00
Kai Koehne
480edb9151 Fix Qt 5 specific comments in Qt applicaton wizards
Change-Id: I031c8d8284efe87009073b5ea0abf99f81a45615
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-12-07 14:57:31 +00:00
Kai Koehne
193becffbb Fix Qt Quick wizards with Default style and Qt 6
The Default style got renamed to 'Basic' style in Qt 6.0. The 'default' is now
to use the style of the system, if available.

This however caused the projects generated by the wizard to not start with Qt6:

  QQmlApplicationEngine failed to load component
  qrc:/main.qml: module "Default" is not installed

Work around this by not hardcoding the 'Default' style if set. It should be the
default for Qt 5, anyhow.

Fixes: QTCREATORBUG-24905
Change-Id: I71aff50b84e3d096b9a87b7e5b49e2df6821f938
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-12-07 14:57:18 +00:00
Alessandro Portale
6c14b4dfaf QtQuick Application Wizards: Set default Controls Style to "Material"
The Controls Style "Default" that is currently by default in the
generated qtquickcontrols2.conf is not present in Qt 6. That leads to
QML runtime errors and aborting applications with Qt 6.

Let's switch the default to "Material" which is available since Qt 5.7
and present in Qt 6.

Fixes: QTCREATORBUG-25027
Change-Id: Ic8b631b771487624d7459a276d290b80c7ad8be0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-12-02 07:38:25 +00:00
Christian Kandeler
013f2a9d73 Wizards: Prevent deprecation warning in generated QtQuick application
Fixes: QTCREATORBUG-25002
Change-Id: Ic118e98a48913acc2abc841b985685059ef3741a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-11-27 12:31:16 +00:00
Assam Boudjelthia
1f9124c976 CMake: update project templates to work with Android for Qt 6
Qt 6 introduces qt_add_executable() function, which for Android
make sure to call few Android specific functions like:
* qt_android_generate_deployment_settings()
* qt_android_add_apk_target()
* qt_android_apply_arch_suffix()

Using add_library() only the user would otherwise need to reimplement
what's already implemented in add_qt_gui_executable().

Task-number: QTCREATORBUG-24681
Change-Id: Iec3984139844fe1cbac2d9a583b3c40bdaa308a0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-10-26 10:42:06 +00:00
Henning Gruendl
6d51955451 QmlDesigner: Fix mobile scroll wizard template
Change-Id: I00d0467ce4ed28d0135e16c6ae9802ed66a1ff7d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-09-02 14:00:34 +00:00
Christian Kandeler
59b84c8d19 Wizards: Update templates in regard to deprecation warnings
The QT_DEPRECATED_WARNINGS macro has no effect anymore, so let's remove
it along with the huge chunk of comments that took up an inordinate
amount of space in the resulting project file. The concise comment for
the QT_DISABLE_DEPRECATED_BEFORE macro is perfectly sufficient.

Fixes: QTCREATORBUG-24244
Change-Id: I549c16c2c037bb64c2833e4807047ab3a8b2103f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-30 12:13:41 +00:00
Tobias Hunger
c0bbbc2f70 Wizards: Update CMakeLists.txt files to handle Qt 6 and Qt 5
Update wizards to produce CMakeLists.txt files that can work with both
Qt 5 and Qt 6.

Bump minimum CMake version to 3.14 since that is the first version that
accepts Qt with major version 6 in AUTOMOC/AUTOUIC.

Task-number: QTCREATORBUG-24206
Change-Id: I2ff462e67f01d84939c02be579579f358bc0b20e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-06-29 07:29:31 +00:00
Mitch Curtis
e96b00bfb4 Qt Quick templates: move visible assignment after width and height
This is more common; visible and enabled are usually after size-related
bindings.

Change-Id: I2148491d8a8fdbf4f7bc2b261bd6472bae697969
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-03-20 12:52:33 +00:00
Thomas Hartmann
34f417a2e4 Qml tooling: Support Qt 5.15
...and keep the default at 5.12

Change-Id: I15439c2d71a0610971dc39246e8b98e9653b8f04
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-19 13:22:24 +00:00
Christian Stenger
03ddc603cf Wizards: Split Application category
It lately became messy and it feels like it is
time to clean up these a bit.

Change-Id: I7b5da97cd7ad4231e28db13c98db16c656c8a6b0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-27 07:00:57 +00:00
BogDan Vatra
15734ac5eb QBS: Fix template for Android
CppApplication sets usesNativeCode for android which it's needed to compile the C++ part of the application.

Change-Id: Ibf787fecd256e4f90c09b8e3061a23419feb526e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-01-08 09:00:27 +00:00
BogDan Vatra
e3904f3b13 CMake: Add Android Multi ABI support
Change-Id: Ia5b3fcda29705fefca85833ebc28b4154defba5f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-28 05:47:53 +00:00
Alessandro Portale
dea46dd04e Qml tooling: Support Qt 5.14
QtQuick 2.14
QtQuick.Controls 2.14
QtQuick.Window 2.14
QtQuick.VirtualKeyboard 2.14

Change-Id: Ide447cf8f5beae481495e6c7220dfc075d6e859f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-01 08:34:55 +00:00
Christian Kandeler
4702faba06 Wizards: Add the ability to remember user choices
Wizard authors can now provide a persistence key to values where that
makes sense.
For now, we make use of it for the build system type in all wizards and
the minimum Qt version as well as the virtual keyboard settings in the
QtQuick wizards.

Fixes: QTCREATORBUG-16657
Change-Id: I179930665bd163b1cf198467ab8b43bc72f8ec4a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-23 12:48:56 +00:00
BogDan Vatra
6b31f9cf23 Android multi arch support
[ChangeLog][Android] Android multi arch support for qmake

Change-Id: Ib8b1874604a3392130c96fbc00b26713b3d788ae
Reviewed-by: hjk <hjk@qt.io>
2019-09-16 07:34:54 +00:00
Christian Kandeler
2feb3e5585 Qt wizards: Include translation file, if requested
Provide all wizards for Qt-based projects with the ability to set up a
skeleton .ts file and add it to the generated project.

Task-number: QTCREATORBUG-7453
Change-Id: I4dfb34c0101062edd0209173f83737e69063e27a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-08 08:56:38 +00:00
Eike Ziller
178e57129d Fix imports in Qt Quick wizards
Fix-up of e0d38ae414

Change-Id: I9f4055647bbf82c89b3282048944bc6ac89faacf
Fixes: QTCREATORBUG-22614
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-07-16 13:00:59 +00:00
Alessandro Portale
663e9003a3 Application wizards: Remove duplicate entry in a generated .qrc file
qml.qrc: Warning: potential duplicate alias detected: 'main.qml'

Change-Id: I949fda863175c3de4a828a93ca01620010a44e93
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-15 05:38:12 +00:00
Christian Kandeler
375ec4c51b Wizards: Fix qbs project template for QtQuick app
Change-Id: Iffc9dad352d78f54557f45b36687c543935853dd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-06-27 09:00:35 +00:00
Cristian Adam
36135aa261 CMake: Small clean-up of CMake Wizards
* Updated CMake minimum version to 3.5 (Ubuntu LTS 16.04)
* Lowercase commands
* Used the target name instead of ${PROJECT_NAME}, which nobody uses in practice
* No string quotes around the source filenames, which do not contain spaces

Change-Id: Ide9b3eb85535213798c6c35e08624cae080ebd9d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-06-12 13:34:58 +00:00
Christian Kandeler
068dbd3aef Wizards: Take Qt virtual keyboard setting into account
... in the project files.

Fixes: QTCREATORBUG-22446
Change-Id: I39f8d6be17ac9fb8f41dd91851578e34c249bfe3
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-05-21 14:40:52 +00:00
Christian Gagneraud
71751bb2fc Export Wizard values to JavaScript macro (Fixes)
This fixes a few misses from e0d38ae414

Change-Id: Ibd0253ca4045afe3745cafeca2f57b083e141bd3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-10 11:45:52 +00:00
Eike Ziller
e0d38ae414 Export Wizard values to JavaScript macro
Registers a new function "value('name')", available to the wizard json
files, which returns the value of the variable "name" as a JavaScript
object. So, variables with a string value are actual JavaScript strings,
booleans are booleans, lists are lists, and dictionaries are
dictionaries.

The patch also makes it actually possible to assign JSON lists and
dictionaries to values.

This removes some hacks involving creating complex JavaScript objects
through string substitution.

Change-Id: I4ac6da22bc5bccc9fadee97694c2fa14d44c9307
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-09 11:19:43 +00:00
BogDan Vatra
ac91f6f452 Update QBS template
Use Application instead of CppApplication as it's more suitable for Android
Apps.

Bump default C++ standard

Change-Id: I57cfafe24da42aeab5c46cb993cc371d6e71f0b7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-04-29 17:30:40 +00:00
Orgad Shaneh
39ba01da71 Merge remote-tracking branch 'origin/4.9'
Change-Id: I7d1912cd5c4d824fd40d3454c5f1bb796f2c21d8
2019-04-07 23:13:17 +03:00
Alessandro Portale
65525a8001 Scroll Qt Quick Application Wizard: Enable minimal Qt version selection
This change makes the combobox for the minimal Qt Version in the
"Scroll" Qt Quick Application Wizard visible.

In contrast to the other Qt Quick Application Wizards, the "Scroll"
variant had the minimal Qt version selection hidden. That was OK in the
initial wizard commit, where only one Qt Version would have been
selectable. But with the subsequent additions of Qt Versions in the
wizard.json, the combobox visibility should have been changed to true.

The consequence of the invisible combobox was that the default was
secretly selected. The default was Qt 5.10 for a while. But the default
changed recently with 52f95bae8b and
caused QTCREATORBUG-22245.

Task-number: QTCREATORBUG-22245
Change-Id: If4d2f384a28bf3dd130b097022ea6d8d30ef7509
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-04-03 05:40:55 +00:00
Eike Ziller
b5e7522237 Merge remote-tracking branch 'origin/4.9'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/pythoneditor/pythoneditorplugin.cpp

Change-Id: I9a95df5e16b34538539ced7dfc5d326b700794e6
2019-04-02 12:22:48 +02:00
Alessandro Portale
52f95bae8b Qml tooling: Support Qt 5.13 and change default to 5.12
QtQuick 2.13
QtQuick.Controls 2.13
QtQuick.Window 2.13
QtQuick.VirtualKeyboard 2.4

Change-Id: Ib977d65294bca522e8ad6b5e1a96b3580a4d4313
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-03-28 08:03:25 +00:00
BogDan Vatra
26463a2219 Say hello to Android CMake support
Requirements:
 - NDKr19 or newer
 - Qt 5.12.1 or newer

QtCreator supports the following variables:
 - ANDROID_PACKAGE_SOURCE_DIR
 - ANDROID_EXTRA_LIBS

Be aware, that there is a lot of magic done on QtCreator side, and you
can't use only cmake to build an Android APK.

[ChangeLog][Android][CMake] Add Android support for CMake projects.

Change-Id: I1d351976ed56f424c2bc972f4ff7b5968147a2ed
Reviewed-by: hjk <hjk@qt.io>
2019-03-06 14:47:27 +00:00
Ulf Hermann
cc9e5c3816 Wizards: Handle errors more elegantly in Qt Quick application template
By monitoring the objectCreated() signal of QQmlApplicationEngine we can
also catch errors if the components are instantiated asynchronously.

Task-number: QTBUG-39469
Change-Id: I796eb5561fc8d48ab5aa74d37b0964b118a1ba7e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-01-18 09:46:27 +00:00
Eike Ziller
69b111b3c7 More Qt Quick wizard fixes for Qt 5.12
Task-number: QTCREATORBUG-21476
Change-Id: Icadcf12dc59786a62205cccc917a13b42f55b782
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2018-11-14 14:10:22 +00:00
Eike Ziller
2bf9333e4c Fix Qt Quick wizards with Qt 5.12 / ECMAScript 7
The expression that we used either worked in ECMAScript 6, or only
accidentally worked in QJSEngine in Qt 5.11.

Fixes: QTCREATORBUG-21476
Change-Id: Id2ce0932ead24c8caef9a82b10a173dfdcf1e927
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-11-14 13:09:07 +00:00
Alessandro Portale
20f3c8d654 Wizards: Remove Canvas 3D application wizard
Canvas 3D is deprecated from 5.12 on.

Task-number: QTCREATORBUG-21078
Change-Id: Icfd4d3651bcc3a9e65fcf52297ec173330f7b0c0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-09-18 16:25:35 +00:00
Alessandro Portale
70fdbedbd8 Qml tooling: Support Qt 5.12
QtQuick 2.12
QtQuick.Controls 2.5
QtQuick.Window 2.12
QtQuick.VirtualKeyboard 2.4

Change-Id: Ie4a60ac93b25ca735e28ac84447cfe60778f8d7d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-09-13 13:38:09 +00:00
Christian Kandeler
d8ebdf1a30 Project Wizards: Update the qbs templates
- Remove the unneeded Project item.
- Remove the minimumQbsVersion property. It was originally added to
suppress warnings in some ancient qbs.
- Install applications to the bin/ directory by default.
- Add main.qml to the files list in the QtQuick template. It is good
practice to list all source files in a project file, and in this case it
is even required for building against a static Qt.
- Remove an unused file.

Change-Id: I05f36e8ae64c0a2150639760db9630dd5d613ab9
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2018-09-07 15:05:43 +00:00
Venugopal Shivashankar
24cabc6dbb Wizards: Fix minor language issues in the project templates
Change-Id: Ia999054ecbc674d2bb920ca78f5fb758055a8140
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-08-30 09:23:30 +00:00
Christian Stenger
3300182d40 Wizards: Make it easier to debug cmake based quick applications
Change-Id: I09a09fb14b3cf8d5486e84413f9f3238c72e2d0f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-07-09 15:27:11 +00:00
Alessandro Portale
b3d291d230 Qml tooling: Support Qt 5.11
QtQuick 2.11
QtQuick.Controls 2.4
QtQuick.Window 2.11

Change-Id: I78df0cf414e6c2ce72830b88d29a8777ac30c757
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-04-12 09:16:21 +00:00
Alessandro Portale
3f757998b5 Revert "Wizards: Accept asynchronous root components for qqapplication"
This reverts commit dcb8681cb7.

The effort to handle asynchronous loading is not required for the
qmllivepreview (for which it had been introduced).

Task-number: QTCREATORBUG-19648
Change-Id: I20cbd318dedb3da43d4993c0c0a1910ffe6d5761
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-02-06 09:50:02 +00:00
Christian Stenger
2e8527c7e5 Wizards: Fix QtQuick - Empty wizard for cmake
cmake does not automatically set the C++ standard to C++-11 when
using Qt5.6. Explicitly set it to have a compiling template.

Task-number: QTCREATORBUG-19670
Change-Id: Ibba1f58951f96c4834985bff2298d606e9aa56bc
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-29 10:54:10 +00:00