Commit Graph

314 Commits

Author SHA1 Message Date
Christian Kandeler
cac1c3d501 Fix more warnings
Found by compiling with clang

Change-Id: Iec0ed8aa8b6a742a5a3996a6c19c410e209fb048
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-23 16:57:25 +00:00
Thomas Hartmann
dfd9d4804e QmlDesigner: Track if QDS was opened from QtC
Task-number: QDS-6315
Change-Id: I4109e9c98ff5c27b4096b1af32ae945aec10c123
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-02-22 16:59:38 +00:00
Thomas Hartmann
454682ea3f Do not enter edit mode when opening a .qmlproject as QDS
If the user opens a .qmlproject in QDS mode we do not want to
enter the edit mode by default.
We check the startup project after opening and calling
openEditMode() will determine if we keep the default of opening
the edit mode or not.

Change-Id: Ic8a7fbefa007d487ec680099544c07fe007c0b29
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-07 15:17:54 +00:00
Thomas Hartmann
b8c8a6a2bb QmlProject: Add single isQtDesignStudio method
Change-Id: Idf9d07e6318af8d6934adcbc0afa3695e262836f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-02-04 17:31:14 +00:00
Thomas Hartmann
96ec295fc6 QmlProject: Search in content for .ui.qml files first
Change-Id: I1cf8a0bc83c24a0207e68a12a9a441cc7432a013
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-04 15:39:26 +00:00
hjk
25f5771aa4 Rename QtSupport::BaseQtVersion to QtVersion
... and the Utils::QtVersion enum to Utils::QtMajorVersion to avoid
conflicts.

Change-Id: Ib688c67388272b7204a91444155f60b8c18a56bd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-24 12:13:19 +00:00
Eike Ziller
51d23ad64f Merge remote-tracking branch 'origin/6.0'
Change-Id: I55d228482ceda144f903fb85eef048d53602ad18
2022-01-24 10:34:10 +01:00
Tuomo Pelkonen
bdba99c61b Multilanguage: Add multilanguageSupport option to qmlproject
Change-Id: I1fc1861e17dc62cec91f5fa27f7e01360a42de78
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-20 09:41:36 +00:00
Eike Ziller
3749cfc896 InfoBar: Make adding more buttons possible
Change-Id: Ic0c946cf3f87fe46cd06391f38e0bc71374ad340
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-01-18 09:33:20 +00:00
Marco Bubke
3fd3cc307e QmlDesigner: Don't export members which are not used outside
Change-Id: I2eb756484a13ce81fd55e7b991d3a509045974e8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-04 13:49:17 +00:00
Miikka Heikkinen
c17f633a7e QmlProjectManager: Add widgetApp qml project property
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>
2021-12-08 13:12:12 +00:00
Thomas Hartmann
a9fc431bd9 QmlProject: Do not allow supression of info bar for qmlproject
Task-number: QTCREATORBUG-26604
Change-Id: I0bde278322150906780dccda734214182fe5100d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-11-24 09:10:19 +00:00
Tuomo Pelkonen
48c30ed76c QmlProject: set project languages from application side
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>
2021-11-04 17:30:19 +00:00
Tuomo Pelkonen
b996bae04d QmlProject: Add support for primaryLanguage
Task-number: QDS-5187
Change-Id: I05aafa726fd6c2b586d57b64239cf08c1f2342ab
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-10-14 04:57:22 +00:00
Thomas Hartmann
e3d9ba8f59 QmlProject: Add support for supportedLanguages
Task-number: QDS-5187
Change-Id: Ieb1cb90225db4093178fafe4ebe948d5967a529d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-10-11 14:40:22 +00:00
Thomas Hartmann
ddccb87a87 QmlProject: Propose to open QDS for any .ui.qml file
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>
2021-09-23 11:13:58 +00:00
Piotr Mikolajczyk
261a39cbbd Implements previewing qml preview for a qmlproject
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>
2021-09-21 17:38:54 +00:00
hjk
cb4f75426d ProjectExplorer: Remove one constructor overload of DeployableFile
Change-Id: I87e444349129e9370b5fec505444723d36e21448
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-14 03:28:48 +00:00
Eike Ziller
3d4d7c7e14 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	src/plugins/clangtools/clangtoolssettings.cpp
	src/plugins/clangtools/executableinfo.cpp
	src/plugins/clangtools/executableinfo.h

Change-Id: Id8caf63e3e594792467d3447870086bd2d8f73b9
2021-09-13 17:03:55 +02:00
Thomas Hartmann
e543cb0d05 QmlProject: Open connect to ParsingFinished() only once
Task-number: QDS-5018
Change-Id: I2782641c8494c44c71c680e145be7744c98afabc
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-07 13:47:12 +00:00
Thomas Hartmann
97a65f9ea2 QmlProject: Do not open .qml.ui file if a file from that project is open
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>
2021-09-07 12:46:43 +00:00
Eike Ziller
8e51295959 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	src/libs/utils/processreaper.cpp
	src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
	src/plugins/cmakeprojectmanager/cmakeprocess.cpp

Change-Id: Ie248bcb02a80f3e02ab19d73033ce2ba31e7fd83
2021-09-07 11:05:40 +02:00
Thomas Hartmann
1393aa8505 QmlProject: Open the first .ui.qml file in QDS
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>
2021-09-06 11:57:53 +00:00
Artem Sokolovskii
bf2954ffbf Qml: Use QtcProcess
Change-Id: I12ff58739db14952bdf38355f0fe3b332f57f330
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-08-31 09:56:59 +00:00
hjk
30f171a491 Utils: Rename FilePath::normalizePathName to normalizedPathName
Change-Id: Ib7bcc9968749649f762a396d3861f7b67711e926
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-26 07:03:13 +00:00
hjk
db014de91c Utils: Introduce FilePath::normalizePathName()
... as wrapper around FileUtils::normalizePathName, and use it
in some places.

Change-Id: I42792e1f175b8119c8db930eae80a9f822ac70fa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-08-23 10:37:26 +00:00
Thomas Hartmann
9b17a2b283 QmlProject: Prefer Qt 6 kits if the project is flagged as Qt 6 project
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>
2021-08-03 20:24:21 +00:00
Thomas Hartmann
58602ec21c QmlDesigner: Add setting for Qt 6 projects
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>
2021-07-27 15:32:29 +00:00
hjk
1bde4ddbec ProjectExplorer: Use FilePaths in project tree nodes
Change-Id: I31b15c428d9b962333947b1e32641fd80f61d069
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-07-16 13:45:06 +00:00
Tim Jenssen
22121885fe baseqtversion: commands are FilePathes
also renamed the qmlscene* qmlRuntime*

Change-Id: Ifd522e21f5ce30aaa54060fdcebee2cd8b9463c4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-07-14 09:50:01 +00:00
Tim Jenssen
453f4996db use "qml" as QML runtime
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>
2021-07-13 15:38:46 +00:00
David Schulz
f66df921d7 Core: filepathify file renaming
Change-Id: I3d4f39e34e65cde3df7b7c19570e3a54d0625d53
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-06-17 11:13:51 +00:00
David Schulz
410b02f8c5 Core: filepathify expected document changes
Change-Id: Ifa9341e55c79459db9ecef3c441da9b2816695bf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-17 06:30:51 +00:00
David Schulz
5ec611b68e Utils: add FilePath::completeBaseName
Removing some FilePath::toFileInfo() calls again.

Change-Id: I6610beebf2c30754fde525b71f4c4a34ceb5e30b
Reviewed-by: hjk <hjk@qt.io>
2021-06-04 07:07:07 +00:00
David Schulz
a13aef759e Utils: filepathify fileutils
Change-Id: Ic9048369f64d793f5f567cdb0c715488fb5a4ff6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-05-18 14:30:53 +00:00
David Schulz
8b7a90ac51 Utils: filepathify TextFileFormat
Change-Id: I6a4e2d38b0bbdec661a4a492901d9182a9f2e502
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-05-18 12:35:49 +00:00
Aleksei German
960d0e42ad Replace modal dialog with InfoBar in QmlProject
Change-Id: I0dfa8722748ae67ff29ad0aeb72681ee8c413d28
Fixes: QDS-3765
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-03-24 14:57:01 +00:00
Michael Winkelmann
9b99e93a96 QmlBuildSystem: MainFilePath member function
Change-Id: I388af6ffdbd310c9a433f6fbcb76e86db4c5053f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-03-23 13:26:08 +00:00
Aleksei German
3ad3f3ec16 Improve Qt Design Studio visibility in Qt Creator
Fixes: QDS-3765
Change-Id: I877da7c0caf153a48c17dbc9ced87ef54c1a082c
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-03-19 14:00:30 +00:00
Eike Ziller
37a0ef29c0 QML: Use new message manager API
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>
2020-12-22 08:09:10 +00:00
hjk
61bfd32438 ProjectExplorer: Introduce a ProjectConfiguration::kit() function
For convenience, and use it in some places.

Change-Id: I8f7cb502b37b2fbf4cf2d17cac9c6299558332dc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-09 06:27:21 +00:00
David Schulz
339db00f85 Core: replace QString with Utils::FilePath to get documents
Change-Id: I01777c227398be8bd3bf877c5429b84a75aa361b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-04 10:14:14 +00:00
Tim Jenssen
4fe5b923cd Merge remote-tracking branch 'origin/qds-1.59' into 4.13
Change-Id: Ic720f3adab305c5ef8cd10e713ccabf510eff0c0
2020-08-13 06:39:40 +00:00
Tim Jenssen
f323a80d57 qmlproject: no need to use raw pointer here
Change-Id: Idbd97a7ab4a78d3e56b3f444b7b48111d7823dd6
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2020-07-20 16:56:13 +00:00
hjk
e1c88116b3 Core/Utils: Migrate further to Utils::Id
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>
2020-07-06 11:15:18 +00:00
Vikas Pachdha
07cbc49d33 Allow blocking auto files refresh
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>
2020-03-03 12:50:17 +00:00
Thomas Hartmann
c74a3042d4 QmlProject: Add qtForMCU flag
Change-Id: Ia473fd257414f5edddc0ffcce8c913897d75f351
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-21 14:02:23 +00:00
Orgad Shaneh
49f6b0146a Merge remote-tracking branch 'origin/4.11'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/mcusupport/mcusupportrunconfiguration.cpp
	src/plugins/python/pythonproject.cpp
	src/plugins/qmakeprojectmanager/qmakestep.cpp
	src/plugins/qmlprojectmanager/qmlproject.cpp
	src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I22507be28fd80c49c9fee0dff5937a40db176a82
2019-12-07 18:39:54 +02:00
Thomas Hartmann
88103453f2 QmlDesigner: Add option forceFreeType to qmlproject
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>
2019-12-06 10:05:46 +00:00
hjk
738bbf1a87 ProjectExplorer: Introduce per-buildsystem setRootProjectNode
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>
2019-11-21 07:40:22 +00:00