Widget was the default apptype in Qt5, but in Qt6 the default was
changed to gui, so projects with qml modules that depend on widgets can
no longer be launched. Notable example of this is QtCharts.
Added "widgetApp" qml project property to allow users to specify if
they want widget or gui based application.
Task-number: QDS-5686
Change-Id: If0787421c79d4ba24a0f8513c8538126bcf29b4e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Even though this does not save the project languages
to the .qmlproject file, this is needed for the languages
to be synced during runtime. Saving the changes to the
.qmlproject file is done in multilanguage-plugin itself.
Change-Id: I771a2e68c3e776422e52d40f4b8526c9ae4e84c4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This is only enabled if no QmlDesigner plugin is found.
When a .ui.qml file is opened we check for a QDS installation.
If QDS is installed we propose to open QDS instead, if not
we show information on QDS.
Search oder for .qmlproject file. QDS requires a project file.
* Check if current project is .qmlproject
* Check if the current folder contains a .qmlproject
* Check folder for .qmlproject that contains the .ui.qml file
* Check parent folder for .qmlproject ...
If not .qmlproject is found we show an error message.
Enabling external link support for InfoBar.
Task-number: QDS-5065
Task-number: QDS-5066
Change-Id: I2c70c400c4d11b83a4848f9e002e180fa119f6e2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
To run it requires either designpreview.apk installed
on the device or apks placed in
<QTCREATATORDIR>/share/qtcreator/android/qtdesignviewer/
Apk filename should follow designpreview_$ARCH.apk
Task-number: QAA-512
Change-Id: Ida955b0fac519112d4623166677a7ba8e9afb1f4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The wizards and example browser already open a .ui.qml file.
In this case we do not want to open the first one.
Change-Id: I8278ca28cd02dfde2b4ab0ffd1b551073d85859f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Open the first .ui.qml file of a .qmlproject to not
confuse users.
Task-number: QDS-4986
Change-Id: I56c77c2101fd549cb7b96ea7d273bb4f5234693a
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
... as wrapper around FileUtils::normalizePathName, and use it
in some places.
Change-Id: I42792e1f175b8119c8db930eae80a9f822ac70fa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
A .qmlproject can contain 'qt6Project: true'. If this is the case
we prefer a Qt 6 kit, otherwise we prefer a Qt 5 kit.
We only change this behavior if Qt Creator is in QDS mode.
We should prefer desktop kits in any case.
Task-number: QDS-4734
Change-Id: I90f6628cd071db01f2add068fd776774f7be133e
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Adding
'qt6Project: true'
to the qmlproject file marks the project as Qt 6 'only'.
Task-number: QDS-4734
Change-Id: Ib9d969fd11d409e280734f9bedf759b40470fc61
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
also renamed the qmlscene* qmlRuntime*
Change-Id: Ifd522e21f5ce30aaa54060fdcebee2cd8b9463c4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Since Qt 6.2 qmlscene is deprecated by Qt.
This patch also removes QMLViewer as a last
QtQuick 1 artifact in external tools.
Task-number: QDS-639
Task-number: QDS-4535
Task-number: QTCREATORBUG-22385
Change-Id: I5f67040954f8ef438961f7166a53bd96d5b73f4d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
That is more evocative. Also avoid some instances of popping up the
general messages pane, which should preferably only happen on direct
user interaction.
Task-number: QTCREATORBUG-24430
Change-Id: I69bb49f84c1486fd32b2a048ca4d76dceb6a0b2b
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
For convenience, and use it in some places.
Change-Id: I8f7cb502b37b2fbf4cf2d17cac9c6299558332dc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The coreplugin/id.h header is kept for downstream for now.
Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
(cherry picked from commit 430a33dcd9)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
While importing assets, qml files are generated under the import
path and this triggers files update every time a file is added.
This results into high CPU usage.
Task-number: QDS-1675
Change-Id: Ia0775ef78bbffedfaf2c140365ee31718e7ee3a4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This option enforces the usage of FreeType even on Windows
for the form editor and live preview.
This can be useful when developing for Linux devices.
The option can be eanbled by adding
'forceFreeType: true'
to the .qmlproject file.
Task-number: QDS-1143
Change-Id: I7e749e95584e23202536596ee4f7cdaa09d3a371
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Currently diverting to the original Project::setRootProjectNode.
Idea is to focus on the BuildSystem <-> generated tree relation.
Change-Id: I8b20173e364713f0919cf4f8b76a2f79ef8770bb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... or Target.
This patch moves build system from conceptually "one per project"
to "one per target (i.e. per project-and-kit)" or "per
BuildConfigurations" for targets where the builds differ
significantly.
Building requires usually items from the kit (Qt version, compiler,
...) so a target-agnostic build is practically almost always wrong.
Moving the build system to the target also has the potential
to solve issues caused by switching targets while parsing, that
used Project::activeTarget() regularly, with potentially different
results before and after the switch.
This patch might create performance/size regressions when several
targets are set up per project as the build system implementation's
internal data are duplicated in this case.
The idea is to fix that by sharing per-project pieces again in
the project implementation once these problems occur.
Change-Id: I87f640ce418b93175b5029124eaa55f3b8721dca
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... instead of creating the BuildSystem direct. This will help the
shift of BuildSystem owner ship as a Project will have potentially
multiple BuildSystem instances (one per BuildConfiguration), but
still be responsible for creating them with the Targets.
Change-Id: I2dd71c7687ed41af9e42c874b3f932ce704e7ee3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... and move context menu action handling there.
This is a temporary measure to be able to move that functionality
alongside the actual BuildSystem to the BuildConfiguration.
There is a lot to be cleaned up left, to keep the patch small.
Change-Id: If4b0820a13b376fc97b70785052924972ce22705
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This had already accessors to all kind of commands, having also
qmlsceneCommand there makes it more consistent and lets us un-export
DesktopQtVersion.
Change-Id: I3ba5a840125b2b1197abb1564b7906571230f2c4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The class uses only one ID from RL at compile time, and after the
move RL does not hard-depend on QtSupport anymore.
Change-Id: I9f8aa6782e45fe998d83ddcc5323c396964bf1fe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Only uses twice out of 54 cases, saves a few cycles and bytes
in the others.
Change-Id: I180005d041e3abaf841890d208adfbcb1a51fb74
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Use setters/getters for the bool flags in
Project::needsBuildConfigurations() and
Project::hasMakeInstallEquivalent.
Change-Id: I5ce937c3a5e8e0db627cda02a9007f8c28ccda0c
Reviewed-by: hjk <hjk@qt.io>