Commit Graph

289 Commits

Author SHA1 Message Date
Eike Ziller
479f1f34ce iOS: Disable anything but running for iOS 17+ devices
We currently cannot support anything than running for devices with iOS
17 and later.

Make it possible for RunConfigurations to state that they are disabled
depending on run mode.

Change-Id: I13df4dd482f6381cda15168c38ede00d95e1d692
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-01-29 12:13:51 +00:00
Christian Kandeler
cdfdb5cb9b QmlProjectManager: Fix include
Change-Id: I68d45d49d55487585423793bb01c522bc08b9557
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-01-18 12:11:59 +00:00
hjk
1cb58e80d8 QmlProjectManager: Merge the two *constants file
The reason for the split is unknown, maybe just an accident.

Change-Id: I4fadd003ee2e6f8d91ed9494bd2304b2d35eff81
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-01-18 10:32:28 +00:00
hjk
f52cf6b564 QmlProjectManager: Use setup pattern for QmlProjectRunConfiguration
Change-Id: Ib69a09c65a4755312663286fddbd891c4f7c49ce
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-01-18 10:18:04 +00:00
hjk
d86ec67f31 QmlProjectManager: Delay construction of some run worker factories
... until the base factories are there.

Change-Id: I0b3541c32eb7f7bbc24461a0fc9c1be85fc4f29b
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
2024-01-18 09:29:16 +00:00
hjk
016936a450 Clean up some lambdas
Change-Id: Id947c0935b1aa4579e1c64d3e510db41103fbe27
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-12-12 10:55:32 +00:00
Tim Jenssen
85ea2758ac Merge remote-tracking branch 'origin/qds/dev' into 12.0
Conflicts:
	share/qtcreator/qmldesigner/connectionseditor/SuggestionPopup.qml
	share/qtcreator/themes/dark.creatortheme
	share/qtcreator/themes/default.creatortheme
	share/qtcreator/themes/flat-dark.creatortheme
	share/qtcreator/themes/flat-light.creatortheme
	share/qtcreator/themes/flat.creatortheme
	src/libs/utils/CMakeLists.txt
	src/plugins/CMakeLists.txt
	src/plugins/qmlprojectmanager/qmlproject.cpp
	src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: Idd87c281e1aa7b7fd2702473ad55e18563cbfb21
2023-10-05 15:53:42 +02:00
Tim Jenssen
97ca8cc270 Core: add ICore::isQtDesignStudio()
Change-Id: I3aed97b62abd05b283ac327be210af75f173383d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-10-04 14:39:39 +00:00
Tim Jenssen
8e0e097f55 QmlProjectManager: use qmlpuppet as qmlRunCommand only at host
Change-Id: I7a8e33bdf1007f26e45514abde378ca9b6799c81
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-09-25 18:34:27 +00:00
Jarek Kobus
121d73b30f Utils: Rename ProjectExplorer::Runnable into Utils::ProcessRunData
Move it into Utils lib.

Change-Id: I3b6c16d18439cabddf59afc03116f13c1970102c
Reviewed-by: hjk <hjk@qt.io>
2023-08-17 07:44:34 +00:00
hjk
aa25fdcc69 QtSupport: Rename qtkitinformation.{h,cpp} -> qtkitaspect.{h,cpp}
Change-Id: I12229e5e98b468101d32edd35be74bbda0921d89
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-08-15 08:59:52 +00:00
hjk
017d7c0e47 ProjectExplorer: Rename kitinformation.{h,cpp} to kitaspects.{h,cpp}
Change-Id: I069bddeb457366210d339edcbb8ffb359a40fab8
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-08-15 07:31:03 +00:00
hjk
6d5b078238 QmlProjectManager: Use aspects more directly
Change-Id: Ibfa91c541666ed81dbe5238075cafebd628f5889
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-17 06:04:57 +00:00
hjk
c2b5a75d76 QmlProjectManager: Prepare special aspects for auto-registration
Change-Id: I9b5e019dfeaf394107a190e78e8880b4f16b9ee9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-14 05:06:37 +00:00
hjk
135a7682f5 ProjectExplorer: Make more aspects directly usable in AspectContainers
Change-Id: I6634c27c8d516411ad84e6cb7c361262ead53124
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-07-06 05:23:04 +00:00
hjk
739f835ef1 ProjectExplorer: Remove unusual {Arguments,WorkingDir}Aspect
Follows suite to 2cc4967 to have the user side code more uniform.
Most of the extra verbosity (setMacroExpander) can go away again
when distributing the expander via the "owning" AspectContainer.

Change-Id: I9e80cb235f0a4a9ebee601dd638aefbaa41efc1b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-07-05 12:55:31 +00:00
Eike Ziller
a490625394 Merge remote-tracking branch 'origin/11.0'
Change-Id: Ie4b1f249d1a5b7835022f367ee6b1c8a3c953f0b
2023-07-04 12:57:47 +02:00
Marcus Tillmanns
57ff63bb96 Device: Don't cache qmlRunCommand
Caching makes the settings page less snappy.

Also fixed searching for qml runtime if not set in
QmlProjectRunConfiguration

Fixes: QTCREATORBUG-29341
Change-Id: Ia3ce72f3e3b857a857f706694794304dcbf1793c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-07-03 12:25:40 +00:00
hjk
691c8148a3 ProjectExplorer/RemoteLinux: Consolidate X11ForwardingAspect handling
Change-Id: I7e74f58ab50c84c74ba65f9f64aaa4d0ea73bbb6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-26 10:48: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
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
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
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
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
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
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
Marco Bubke
ef3e45da8d QmlDesigner: Share QmlPuppetPaths
It removes the workaround in QmlProjectRunConfiguration.

Task-number: QDS-8915
Change-Id: I319cdf976980b616eb28cabb40dd63416d7e27fa
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-02-07 17:43:34 +00:00
hjk
ec43a6c005 QmlProjectManager: FilePathify further
Change-Id: I8d83cc93778f8786c30e0aaef459c51005139b19
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-01-31 06:50:54 +00:00
Tim Jenssen
43b8532982 QmlDesigner: get qmlPuppetPath by duplicating settings
This should be a temporary solution. Read settings
at two different code locations is error prone.

Idea is to introduce a general QmlDesignerUtilsLib which can handle that.

Change-Id: Ic670d2c63f134ba8f1b1455d000b7c2f372b1d61
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2023-01-25 11:44:34 +00:00
Alessandro Portale
0fff2aa172 QmlProjectManager: Tr::tr
Change-Id: I219111bab487ad5f2d7d1cd7ae6f3e3e8a2a8d3f
Reviewed-by: hjk <hjk@qt.io>
2023-01-19 15:53:58 +00:00
Eike Ziller
2688a9629c Merge remote-tracking branch 'origin/9.0'
Conflicts:
	src/libs/utils/pathchooser.cpp
	src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I7ae3f91618c4a4ccb088679caea72b2a81590960
2023-01-13 09:16:25 +01:00
Tim Jenssen
4aea4ea693 Merge remote-tracking branch 'origin/9.0' into qds/dev
Conflicts:
  src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: Idc7be1f8871df51f7372ea66f81178cfe3e68846
2023-01-12 16:42:15 +01:00
Tim Jenssen
2df52c4b8b qmlproject: fix qmlViewerAspect
- add its own settings key so it gets saved into the project settings
- read the correct placeholder text, commandLineGetter is set too late
  and would also create a loop (qmlViewerAspect is used to get it)

Change-Id: Iee3458cfe84e3f6b6750aa14d9d89347da21b37c
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-01-12 13:46:09 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...

While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only

Change was done by running

  find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;

Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-06 11:15:13 +00:00
hjk
e7b4ccf608 QmlProjectManager: Fix starting .qmlproject on Boot2Qt
The "qmlscene" is called "qml" nowadays. Also give device settings
more priority to cover cases where there is no Qt build setup at all.
For this case, also demote the missing Qt build version from "Error"
to "Warning".

Task-number: QTCREATORBUG-28074
Change-Id: Ic44d2bee1965493925d21317d12d5c1f66ace88b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-19 16:23:28 +00:00
hjk
d53842d512 QmlProjectManager: Re-organize fallbacks for runtime search
This was getting messy.

Change-Id: Idce960b393fa02c5a032bb3a0c93929604d77f17
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-19 14:00:55 +00:00
hjk
5c7c102f3e QmlProjectManager: Fix starting .qmlproject on Boot2Qt
The "qmlscene" is called "qml" nowadays. Also give device settings
more priority to cover cases where there is no Qt build setup at all.
For this case, also demote the missing Qt build version from "Error"
to "Warning".

Task-number: QTCREATORBUG-28074
Change-Id: Ic44d2bee1965493925d21317d12d5c1f66ace88b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-19 13:59:38 +00:00
hjk
2f7263cd67 QmlProjectManager: More FilePath use
Change-Id: I7af611bdeffb8f06c5f014224c0b6c639a1d8a6d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-12-15 13:14:48 +00:00
hjk
041c59e90f QmlProjectManager: Support running on RemoteLinux
This adds a per-device qml run time path and enables X11 forwarding
via a run configuration aspect.

Task-number: QTCREATORBUG-28074
Change-Id: Iae5e724f44dba876d7a12443b3b89f85cd28f3df
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-12-14 10:01:54 +00:00
hjk
82ecd3910b QmlProjectManager: Use a PathChooser for the fallback qmlscene
Allows to browse for binaries on the target instead of having to
specify a proper fully qualified remote path manually.

Change-Id: Iaf9dc5c4fe921a7188ef2178f10403fa01e69d03
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
(cherry picked from commit 50f6afe4d0)
Reviewed-by: hjk <hjk@qt.io>
2022-11-30 14:47:56 +00:00
hjk
50f6afe4d0 QmlProjectManager: Use a PathChooser for the fallback qmlscene
Allows to browse for binaries on the target instead of having to
specify a proper fully qualified remote path manually.

Change-Id: Iaf9dc5c4fe921a7188ef2178f10403fa01e69d03
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-11-29 09:51:08 +00:00
Alessandro Portale
a917770053 Replace QtSupport::QtVersionNumber with QVersionNumber
Task-number: QTCREATORBUG-27786
Change-Id: I71a44709c264829f629c9dfce702076eda297a77
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 12:08:39 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
hjk
2496ffe3ce Code cosmetics
Mostly unused #include's, also sort them or reduce scope.

A few namespaces, ...

Change-Id: I9ee71e07de7157c9942125672addf87dd41e78f1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-06-24 14:44:13 +00:00
Artem Sokolovskii
92b3a51358 QMLPlugins: Remove foreach / Q_FOREACH usage
Task-number: QTCREATORBUG-27464
Change-Id: Ie3e3ec9fdaea856943e5325cabd21e52bf290e70
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-06-01 13:47:19 +00:00
hjk
8dacb123e0 Utils: Pass MacroExpander to ArgumentsAspect constructor
In the past we wanted to keep the aspect constructor simple but
it turned out that exceptions were needed and accumulating, so those
are likely here to stay.

By passing also the MacroExpander to the ArgumentsAspect constructor
allows other single-purpose warts like the ProjectConfiguration::doPostInit()
machinery can be removed.

Change-Id: I148b0ca1ab0740270eecd0d3134620de65a86d4f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-05-20 07:06:10 +00:00
Jarek Kobus
6cd736fe6c Remove algorithm.h from buildtargetinfo.h
Change-Id: I777212fb94d46c1c71f017288b7e38dd5db62a91
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-18 08:38:05 +00:00
Jarek Kobus
7fadaff5d4 IDevice: Make it possible to forward declare Ptr and ConstPtr
Most inclusions of idevice.h inside other headers are
required just because of IDevice::Ptr or IDevice::ConstPtr
was used there. Unfortunately, since these "using"
are defined inside a IDevice class, we just can't
forward declare IDevice::Ptr nor IDevice::ConstPtr.

Instead, create a separate header that defines
IDevicePtr and IDeviceConstPtr while having IDevice
forward declared. Redefine IDevice::Ptr/ConstPtr
inside IDevice to use IDevicePtr/IDeviceConstPtr.

Now, instead of forward declaring a IDevice::Ptr
it's sufficient to include the idevicefwd.h.

This drops the number of files being recompiled
after touching idevice.h from ~770 to ~210.

Change-Id: Ib6f2982aa0761fb4cd6593badb9c3c0c527ea535
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-04-14 12:27:04 +00:00
Eike Ziller
780f5da7c4 Merge remote-tracking branch 'origin/7.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/studiowelcome/recentpresets.h
	src/plugins/studiowelcome/userpresets.h

Change-Id: Ie573b945eb28347a36ee1b3582fbd6ab0c0f866c
2022-03-28 15:10:11 +02:00