Commit Graph

1198 Commits

Author SHA1 Message Date
Aleksei German
fcab6a10d2 QmlDesigner: Improve project open functions
This patch:
unifies lookup for the first qml file to open;
increases number of possible fallback options;
adds missing implementations to some methods in QmlBuildSystem.

Task-number: QDS-9984
Change-Id: Ib282b1fca8b0564fe80f00e3d9ffe82c1a15c540
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-06-26 09:47:57 +00:00
Aleksei German
96cd0b3668 QmlDesigner: Fix for mainFiles missing filepath
It always returns projectDirectory otherwise

Task-number: QDS-9984
Change-Id: Ia8a7d660eef46ec4e0afd53c1452798f95367dcd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
2023-06-26 09:47:52 +00:00
Tim Jenssen
846f8dba92 Merge remote-tracking branch 'origin/11.0' into qds/dev
Conflicts: src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
  src/plugins/qmldesigner/components/stateseditornew/stateseditorwidget.cpp
  tests/unit/unittest/qmlprojectmanager/projectitem-test.cpp

Change-Id: Icdb63851ec0162d82217e85b3beb0b6f9f12899e
2023-06-22 14:50:56 +00:00
hjk
67ec9bbce0 QmlProjectManager: Compile fix after Qt source compatibility break
error: operands to '?:' have different types 'QStringBuilder<const QString&, QString>' and 'QStringBuilder<QString, QString>'

Caused by af8f9a2a6e3dbc8.

Change-Id: Ia3dfca2cb5f1cb1855f25d178f63898eb6745c46
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-06-22 11:28:15 +00:00
Knud Dollereder
9021558bcc Fix policy warnings in project templates
When compiling default created projects with Qt 6.5 and cmake
warnings about Qt policy QTP0001 where issued. This is now
fixed for the project templates. A second patch for the
qtquick-components repo will be provided to get rid of the
remaining policy warnings

Change-Id: Ia701a0cc7e030c9cb1459dc48e5ed2a91a6c6c0e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-06-20 13:44:08 +00:00
Tim Jenssen
053e970c4d QmlProjectManager: use qml2puppet only if it is QtSudio Qt
Task-number: QTCREATORBUG-29259
Change-Id: Ib05737368c224fa28b2c9f091dfa0e210bc838af
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-06-15 12:45:36 +00:00
Alessandro Portale
50c386b53a Translations: Call Tr::tr() where it should
Change-Id: Ibf2be8a9aabd0a4e8e763a96901feaaa6eda2f3e
Reviewed-by: hjk <hjk@qt.io>
2023-06-09 12:04:26 +00:00
Tim Jenssen
66263782ec Merge remote-tracking branch 'origin/11.0' into qds/dev
Conflicts:
  src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
  src/plugins/qmldesigner/components/stateseditornew/stateseditorview.cpp
  src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp
  src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp

Change-Id: I4c8a33736b25c3bb24241224d0a1e7358bb7fd94
2023-06-08 16:35:56 +02:00
Tim Jenssen
f09598de43 QmlProjectManager: fix import FilePath
Deployment was not working for subdirectories.
Path was not correct in projectInfo.importPaths.maybeInsert.

Change-Id: I4fd8a08ef6182c52963d6d76a700f4687abd9730
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-06-07 18:03:05 +00:00
Marco Bubke
ff2a14917f QmlDesigner: Only enable error on warnings as you compile with tests or in debug
There is no advantage for an enduser to get errors on warnings because
he cannot do much about it. It is still nudging the developers to fix
the warnings.

Task-number: QTCREATORBUG-29238
Change-Id: If9f73f2766d686b119cd264ee7b3c3c9afa2c70d
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-06-07 11:32:02 +00:00
Tim Jenssen
a6d1b594a4 Merge remote-tracking branch 'origin/11.0' into qds/dev
Change-Id: I79a272471b3400eec0a0fa9fca175d1d4a8c0a13
2023-06-07 12:07:21 +02:00
Tim Jenssen
adc901ba2c QmlProjectManager: fix warning when project has no mainScript
happens at start when project is still parsing

Change-Id: I02b1d52b41c4f092fb4f45cf3dcf192e29eda324
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-07 09:50:15 +00:00
Tim Jenssen
2b4fe0aef8 Qml: fix Boot2Qt deployment from Windows host
- fix QmlBuildSystem::target*() to resolve maybe device files
 - Cache lookup of qml path on device

Task-number: QDS-9994
Change-Id: I5675368368f2d1cc513feb98fdcdd75fda1a764a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-07 09:49:30 +00:00
Burak Hancerli
5dadc57bc3 QmlProject: Fix escaping while rewriting the qmlproject file
Task-number: QDS-10032
Change-Id: I856d9935a1c77085f79008db19920f12af9e1a21
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-06 10:16:30 +00:00
hjk
ebc185b1bb QmlProjectManager: Use FilePathAspect for device QML viewer overide
Cosmetical.

Change-Id: I480fd3163b45c3b2a19b7636cb79d6cb9b166825
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-06-06 06:43:04 +00:00
Tim Jenssen
002d84cb15 Merge remote-tracking branch 'origin/11.0' into qds/dev
Conflicts: src/plugins/qmldesigner/designercore/metainfo/metainfo.cpp
  src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
  tests/auto/qml/qmlprojectmanager/fileformat/fileformat.qbs
  tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp

Change-Id: I257f1908917bcc58805619b53b6866f2f73ca544
2023-06-02 19:26:05 +00:00
Thomas Hartmann
547f719631 QmlProject: Add trace point to qmlproject
We use the qmldesignerplugin, if the qmldesigner plugin
is disabled then nothing is traced.

Task-number: QDS-10010
Change-Id: Ifa7f7719efca6a757e69b75937368d7a69a5e460
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-06-01 16:46:58 +00:00
Burak Hancerli
fbc4848f96 QmlProject: Support QDS. prefix when reading
This patch also includes a small update to skip creating 'shaderTool'
object in the json container if it doesn't exist in the qmlproject
file.

Task-number: QDS-9969
Change-Id: I1b8639c5e0a57aa77cbd417b51d57c1f4910613a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-05-31 09:44:23 +00:00
Eike Ziller
edd1a89807 Move SessionManager to Core plugin
Sessions are independent from projects, and this allows for removal of
e.g. the dependency from Bookmarks to ProjectExplorer.

Includes moving the command line arguments (-lastsession, <session>) to
Core plugin.

Change-Id: I6c578fd15c4990902e7196501de20f39376e90e8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-05-25 11:15:41 +00:00
Thomas Hartmann
9d37bb96c7 QmlProject: Fix comments in converter
Change-Id: Iedf7997e50031659847d05bccd7cf48e116c9809
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
2023-05-24 11:42:21 +00:00
Christian Stenger
29d3a1aef2 QmlProjectManager: Fix Qbs build on Windows
Change-Id: I58057e88293017ece5d0026e2b2708e6d3f48d30
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-05-24 07:41:13 +00:00
Christian Stenger
590a6904b1 QmlDesigner: Fix qbs build and building with Qt6.2
Change-Id: Ic114c9eb830eed5cf0bef890007408694453791e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-05-23 08:40:09 +00:00
Christian Kandeler
8e7ad13ad2 Fix qbs build
Was broken in an impressive number of ways by latest Design Studio
merge.

Change-Id: I25f56827074a8c16a1a9c18884e1f63e8eaf6ef1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-05-23 07:24:49 +00:00
Tim Jenssen
1b6c0ff56c Merge remote-tracking branch 'origin/qds/dev'
Conflicts:
  coin/instructions/build.yaml
  doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc
  share/qtcreator/qmldesigner/studio_templates/projects/common/CMakeLists.main.txt.tpl
  src/libs/CMakeLists.txt
  src/libs/advanceddockingsystem/dockmanager.cpp
  src/libs/advanceddockingsystem/workspacedialog.cpp
  src/plugins/coreplugin/manhattanstyle.cpp
  src/plugins/qmldesigner/CMakeLists.txt
  src/plugins/qmldesigner/components/formeditor/toolbox.cpp
  src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimporter.cpp
  src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp
  src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.h
  src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
  src/plugins/qmldesignerbase/qmldesignerbaseplugin.cpp
  src/plugins/qmldesignerbase/qmldesignerbaseplugin.h
  src/plugins/qmlprojectmanager/qmlproject.cpp
  src/tools/qml2puppet/CMakeLists.txt
  tests/unit/unittest/CMakeLists.txt

Change-Id: I2c5f18c4fca49471d02713ce5859032232cf7756
2023-05-22 21:13:40 +02:00
Burak Hancerli
057b4428d8 QmlDesigner: Refactor QmlProjectManager tests
Task-number: QDS-9743
Change-Id: Ia5e788fcebacef59ba12226e2c873f5cbf8954ba
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-05-16 08:17:40 +00:00
Burak Hancerli
910b467af6 QmlProject: Remove unnecessary destructor
Change-Id: I7e5d58a46074cff3ac9e41322a0e93200fea17e0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-05-16 06:16:46 +00:00
Knud Dollereder
5bf1b598c1 Move mcu deploy step into the mcusupport plugin
This deploy step will run the qmlprojectexporter commandline tool
on the currently active qmlproject if qtForMCUs is set to true.
The output of the tool is shown in the "Compile Output" panel.
Possible configuration issues are shown in the "Issues" panel.
Note that the step is not removed from the list but disabled when
setting qtForMCUs to false in order to retain possible changes made
by the user.

Change-Id: I03b0d6fbe420b49400d48e7365d4395491b9aa2d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-05-11 08:50:46 +00:00
Jarek Kobus
a0f6e8dc04 Utils: Rename qtcprocess.{cpp,h} -> process.{cpp,h}
Follows QtcProcess -> Process rename.

Change-Id: I97235a9a40cb7fd52944515b7ab878d96528f919
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-05-04 05:52:26 +00:00
Jarek Kobus
470c95c94b Utils: Rename QtcProcess -> Process
Task-number: QTCREATORBUG-29102
Change-Id: Ibc264f9db6a32206e4097766ee3f7d0b35225a5c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-05-04 05:52:16 +00:00
hjk
99f7679564 Layouting: Make aspects operate on parent items, not LayoutBuilder
LayoutBuilder is meant to be an implementation detail nowadays.

Change-Id: I777ab934d3d405873e819eeddd27428d8c652f9a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-05-03 13:44:28 +00:00
Thomas Hartmann
351e11a73d QmlProject: Fix mainUiFilePath()
The method mainUiFilePath() is supposed to return the actual file path
that is relative to the project file.
Removing mainUiFilePath() from QmlProjectItem, since QmlProjectItem
is supposed to contain only the pure data.

Task-number: QDS-9650
Change-Id: Iad474586cad8f8cef745aadb63d421573d7d9c83
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-27 14:11:46 +00:00
Thomas Hartmann
3be61f0be9 QmlDesigner: Activate kit after adding
We do not remove other targets anymore and instead activate
the added one.

Task-number: QDS-9652
Change-Id: I29d5b9e878b928611a1e854fd212682153b89d63
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-27 14:09:08 +00:00
Knud Dollereder
3f32409748 QmlDesigner: Cleanup mcu deploy step
Change-Id: I4f4fa4f9067613cb31c7408a89a25cf27f2093e3
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2023-04-27 13:51:26 +00:00
Burak Hancerli
ccf17b02c8 QmlDesigner: Fix project file getter/setter issues
Task-number: QDS-9781
Change-Id: I2df8cca1c4e5cd10563621b849fb54b29c0d155d
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-26 12:55:59 +00:00
hjk
8cf500c5bc Utils: Make Layouting a top level namespace
The whole machinery is now almost only layoutbuilder.{h,cpp},
mostly independent of the rest of Utils. Idea is to finish the
separation to make it stand-alone usable also outside creator.

Change-Id: I958aa667d17ae26b21209f22412309c5307a579c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-04-25 13:31:25 +00:00
Knud Dollereder
3387c68ff2 Add MCU build step to the QmlBuildSystem
If a qml project is marked as qtForMCU the buildstep will
run the qmlprojectexporter on the currently active qmlproject
when pressing the "Run" button. The output messages of the tool
will then show up in the "Compile Output" panel.
The build step itself can be seen when switching to "Projects"
mode under "Deployment".

Change-Id: I5ac31d5655e3b4b6137aaf541839776f144a09c4
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
2023-04-20 16:51:39 +00:00
Marco Bubke
d14c38e873 QmlDeesigner: Add feature to disable error on warnings
Change-Id: Idc0cbf2c6fd4069d84fe18de190d91ed94610a8a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-04-17 15:01:13 +00:00
Burak Hancerli
69902addf1 QmlProjectManager: Fix the build error coming from -Werror
Change-Id: I46601bcbb9ce358d34211fdea76707abcb5ca709
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-06 15:43:33 +00:00
Burak Hancerli
66d72433a6 QmlProject: Refactor QmlProjectManager
- feature: JSON based project manager plugin
- feature: functionality to write QmlProject file
- tests: tests for QmlProjectItem

Task-number: QDS-8810
Change-Id: I8989e54577e9cd883bd76346e22774cc7f7ed93f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-05 15:13:43 +00:00
Christian Stenger
93fb8cd1ef Fix Qbs build
Change-Id: Ia46cadd346561c2d52596290e3fbabcc2e746229
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-31 06:04:07 +00:00
Tim Jenssen
adb664f521 Merge remote-tracking branch 'origin/qds/dev'
Conflicts: src/libs/utils/filepath.cpp
  src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
  src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
  tests/unit/unittest/CMakeLists.txt

Change-Id: I017a6075db41a5233487ac855ffe23de2b2bb0ee
2023-03-30 13:30:42 +00:00
Tim Jenßen
feabda3aa7 Merge remote-tracking branch 'origin/10.0' into qds/dev
bigger conflicts resolved at:
  src/plugins/qmldesigner/CMakeLists.txt
  src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I08e2a109d8e37cbd77225129854e9e633725bfc7
2023-03-26 16:26:18 +02:00
Thomas Hartmann
b63cb2603e QmlDesigner: Always try to open in design mode if qmlproject is opened
If there is no ui.qml file then fallback to .qml.
Change to design mode in any case if a file was opened.

Task-number: QDS-9460
Change-Id: I619292019105f488ff33e6e5ed4294b36eb2627c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-22 10:37:19 +00:00
hjk
3e7d93c788 ProjectExplorer: Move some not-fully-session related bits
... out of SessionManager.

The idea is to later move SessionManager into the Core plugin,
which both is sensible conceptually and also prerequisite to
merge the Bookmark plugin into TextEditor plugin.

Currently, only the interface is split, as the load/save
implemetations are non-mechanical to disentangle.

Change-Id: I31631db3094ea192825a2ccaa6add6188662940b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-01 09:26:50 +00:00
Henning Gruendl
9dc8b42ec9 QmlDesigner: Fix re-opening project error
Task-number: QDS-9242
Change-Id: Iecd0271014d2f3e3ea8b3cb13271c2cf4a612ce8
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-02-22 15:02:39 +00:00
Marco Bubke
96ea9e3891 QmlDesigner: Stop on every warning
We already had some bugs because warnings were ignored. So we generate
errors now for the qml desinger plugins.

Task-number: QDS-9135
Change-Id: I9276a1b5cdbec554bc33c0c6ed3706817518f39c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-02-20 14:12:28 +00:00
Alessandro Portale
9f2f2f3390 Translations: Change translation context prefix from "::" to "QtC::"
lupdate would be confused by translation contexts starting with ::

Change-Id: Ie95e73436fd3cafc80a8e89f908efadc747e644c
Reviewed-by: hjk <hjk@qt.io>
2023-02-10 16:27:55 +00:00
Thomas Hartmann
84d3fdc753 QmlDesigner: Set object names on QQuickViews
Change-Id: Icf2af2967a89b62e3328f7d523b8fc46f580314e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-02-08 17:48:05 +00:00
Tim Jenssen
f766c2f5dc qmlprojectmanager: fix Cannot run Qt5 projects
qml2puppet only enables the qmlruntime feature if it
was built against a Qt 6.

Task-number: QDS-9088
Change-Id: If573cae305ef18c11101a591e6c1e38f133b7914
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-02-08 15:52:12 +00:00
Burak Hancerli
5ac46d46ba QmlProjectManager: Disable Cmake Generation for Qt4MCU
Task-number: QDS-7442
Change-Id: Ifc2239d5be7489e0fd7c5a778e5653d4266c0393
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-02-08 15:46:37 +00:00