Commit Graph

68765 Commits

Author SHA1 Message Date
hjk
a94f37c8b0 Utils: Add FilePath::{suffix,fileName}View functions
Can save a few cycles in some cases.

Change-Id: I0da3ad9ae2127e20f8e90d68f924e87661028071
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-11-24 16:52:57 +00:00
Jarek Kobus
46cfdbf285 Slog2InfoRunner: Reuse TaskTree
Change-Id: I820814de90ddf0a3094ed35481c488d36b059c31
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-24 16:12:47 +00:00
Jarek Kobus
6fb0bebba9 AbstractRemoteLinuxDeployService: Simplify internal data
Replace stopRequested field with Stopping state.

Change-Id: I75d098e5913b59fd7ace2881c6e0c42e70c06667
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-24 16:05:27 +00:00
Jarek Kobus
5bb46fc998 MakefileParser: Replace foreach with range-based for loops
Change-Id: If1c2fecb68d732751ca8808c26e514e3cdffc842
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-24 16:02:57 +00:00
Jarek Kobus
68116ae4f1 GLSLEditor: Replace foreach with range-based for loops
Change-Id: Ie28411ec0f69a4cee0feff61b11ed73a897174ea
Reviewed-by: hjk <hjk@qt.io>
2022-11-24 16:02:47 +00:00
Jarek Kobus
6a20c52cc9 QtSupport: Replace foreach with range-based for loops
Change-Id: Ia941c8dec41a73ca126c91304223d1fe98bc2972
Reviewed-by: hjk <hjk@qt.io>
2022-11-24 16:02:28 +00:00
Jarek Kobus
849c902971 Qnx: Replace foreach with range-based for loops
Change-Id: I590a6a4c6ee973307cbfb7d49b863a1492f6abcc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-11-24 16:02:17 +00:00
hjk
9d80e23256 CppEditor: Proliferate FilePath use
This includes one functional change: It drops some cleaning
of the path used to create the CppDocument, which is now
assumed to be done on the caller side.

Change-Id: I5e2a182028e4d5b56282ad85f4a5c665f081754f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-11-24 15:54:33 +00:00
Christian Kandeler
ea3e227944 CPlusPlus tools: Fix build
Catch up to recent refactorings.

Change-Id: I14e8fa03a50ea4169ccdd41ed0d147d6ecb8af8b
Reviewed-by: hjk <hjk@qt.io>
2022-11-24 15:42:41 +00:00
Eike Ziller
2ff5f18bff Transform doc.qt.io/qt-creator links to internal qthelp links, for links
that are found locally in the documentation. That opens such links in Qt
Creator, instead of in the web, if possible.

Change-Id: I2270c6947db22f4aeb4968bf5b7245de57521c92
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-11-24 15:10:05 +00:00
hjk
8d645a506d ProjectExplorer: FilePathify extracompiler.cpp
Change-Id: I74712eb4f7f73dd809edf3ca4cfa8a14572e0365
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-24 14:57:08 +00:00
David Schulz
decbb93069 MsvcToolChain: reduce severity of task for failed vcvars runs
... if we can use cached environment modifications from previous Qt
Creator runs.

Change-Id: I2c570f3d3fc30adccf27339b2e21c5d00d4caa37
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-11-24 14:11:17 +00:00
Eike Ziller
7a2901d502 JSON wizards: Read additional paths from settings
Opens possibilities like the installers writings some.

Change-Id: Ie8c87731fb6bb9c7129032f64878e42e9bcf4cf0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-11-24 14:03:33 +00:00
Miikka Heikkinen
39d0a554b8 QmlDesigner: Fix initial positioning when dragging item to 2D view
Fixes: QDS-8365
Change-Id: I624afcb15d800e5f5597a9e760843148d02d8975
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-11-24 12:43:40 +00:00
Christian Stenger
27df715479 ClearCase: Fix display of mnemonic
Change-Id: Ic0f8e55ad2a141031d8540c6fdf7b0ed5a9b0aba
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-11-24 12:40:51 +00:00
Miikka Heikkinen
fea463bb4a QmlDesigner: Drag textures from content library to material browser
Fixes: QDS-8337
Change-Id: Iee42341a18e4acaa0d455aef276df36013ebf21e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-11-24 11:16:59 +00:00
Alessandro Portale
4536258c9e Android: Revive second half of AndroidManager::updateGradleProperties
The extra "gradlew" which gets inserted into packageSourceDir makes all
paths that are subsequently based on packageSourceDir be invalid.

Amends: ded34daa2b

Change-Id: Ied7fe12a3d68c27b56eeb4d0ad4ce375ee228f4e
Reviewed-by: hjk <hjk@qt.io>
2022-11-24 10:57:58 +00:00
Mahmoud Badri
34b236e7fb QmlDesigner: Disable assigning a texture to a model with no materials
Disable apply texture to selected model option from texture editor's
toolbar when the selected model has no material. Also relevant fixes
to make sure texture assigning happens in the current state.

Fixes: QDS-8395
Change-Id: Iab2e8fce4696c6bd5d50636b4077362ba04cb8a0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-11-24 10:45:57 +00:00
Jarek Kobus
f2d50ba6ff GenericDirectUploadService: Reuse TaskTree
Change-Id: Ib450274d3e73059bbc5e8f8e0d586ebb2a7a0dc4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-11-24 10:33:56 +00:00
Jarek Kobus
a6015a6216 LinuxDeviceTester: Use Storage for internal inter-process data
Change-Id: If186c2cd83781a1de4c2a9d579611079ee7318b4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-11-24 10:33:25 +00:00
Thomas Hartmann
5995810d34 FilePath: optimize comparison
* The QTC_ASSERT in pathView() is quite expensive
* Constructing the scheme using scheme() is not required

Change-Id: Ibea33dd6abf67c8bd184d118f23e2598075c362c
Reviewed-by: hjk <hjk@qt.io>
(cherry picked from commit e471417539)
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-11-24 10:10:42 +00:00
hjk
3d492c47e7 FilePath: Backport some pathView() changes
After the change to a single-string representation, the QString
construction for path() is expensive for the comparison operators
and simple convienience functions.

Change-Id: I643c7115d3ad52f971d1692230b6eab82645b810
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-11-24 10:10:21 +00:00
Thomas Hartmann
07e96c299a QmlDesigner: Allow to disable possible imports
Getting all possible imports can be slow and
is not required in every context.

Change-Id: I75c50e0f6600dfa8fca7dfec26382783b084bdb9
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2022-11-24 10:08:42 +00:00
Christian Kandeler
bfecefabc0 CppEditor: Let users check for unused functions in (sub-)projects
Note that especially in C++, there can be a lot of false positives,
especially in template-heavy code bases. We filter out the most notorious
offenders, namely:
    - templates themselves
    - constructors and destructors
    - *begin() and *end()
    - qHash()
    - main()
Since the code model does not know about symbol visibility, the
functionality is quite useless for libraries, unless you want to check
your test coverage.
The procedure is rather slow, but that shouldn't matter so much, as it's
something you'll only run "once in a while".

Fixes: QTCREATORBUG-6772
Change-Id: If00a537b760a9b0babdda6c848133715c3240155
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-11-24 09:27:03 +00:00
Mahmoud Badri
6943322b42 QmlDesigner: Suppress some unused params warnings
Change-Id: Ib54014fdc6d1256393e60b2d2df17fa3cd4573e4
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-11-24 08:54:46 +00:00
Vikas Pachdha
a3753deebe Fix build error
QList::paths is changed to std::set

Change-Id: Ib996723ab316f956367ed801d0b897a481fbfb4a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-11-24 08:32:38 +00:00
Christian Kandeler
b841d68a95 Wizards: Let "new file" wizard create subdirectories
Change-Id: I1267025ab3db3803e10c6a5ebf78bb945fe19c71
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-24 08:18:17 +00:00
Jarek Kobus
953051b8bb UpdateInfoPlugin: Reuse TaskTree
Change-Id: Ic54f6d829eb4c9257ecba183fa0d029289d00bdd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-24 07:34:57 +00:00
Jarek Kobus
5e5d412fc4 GccToolChain: Create process on stack
Amends 948f0070fa

Change-Id: I67c537f19da6cd012d1d51d80f0b987dd2b1fede
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-24 07:34:19 +00:00
Christian Kandeler
706b0ff9eb "New Project" wizard: Create project parent directory, if needed
There's no reason to force users to the terminal if they want to create
their project in a new subdirectory.

Fixes: QTCREATORBUG-28346
Change-Id: Id92b2194c018274aac6f7f29c7304efa8c1d2d9e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-24 07:33:19 +00:00
Jarek Kobus
2e75492257 TextEditor: Replace qAsConst() with std::as_const()
See 8eb4d52342

Change-Id: Ic96065a4bda4c9658d88bbab2e916e8f2525bcb2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-11-24 06:01:03 +00:00
Thomas Hartmann
3f5259dd00 QmlDesigner: Fix crash
Change-Id: Ic996823ab316f956367ed801d0b8974481fbfb4e
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2022-11-23 17:01:19 +00:00
Thomas Hartmann
d0a07dcacb QmlJS: std::set instead of QList
This reduces the CPU time of Export::visibleInVContext() from 50% to 15%
on Windows, when switching files.

Change-Id: Iff82924c47d1b696c9d3d7ca40f49d9d02bcb3e6
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-11-23 16:28:26 +00:00
Jarek Kobus
f9b4bcd3d8 TarPackageDeployService: Reuse TaskTree
Change-Id: I74d19719f5a946a79409f04b4536fe9368747bc1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-23 15:34:06 +00:00
Jarek Kobus
c88a829059 RsyncDeployService: Reuse TaskTree
Change-Id: I411726e47550da5fd3269fcbb3e4f3e19096adeb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-23 15:12:14 +00:00
Jarek Kobus
85340d9508 TarPackageDeployService: Get rid of killer process
The installation process is being run in remote shell, so
closing the process with close() should finish the remote
shell together with all running children processes.
There is not need for separate "tar" killer.

Change-Id: Ib3b36ca955fe033cea8abdffbee3f14a5e007905
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-11-23 12:59:45 +00:00
Jarek Kobus
dfd06ec175 TaskTree: Fix destruction of running task tree
Delete all storages that were created before.

Change-Id: I8cbeb571424086b77fa7b19611c5b3f6cc1f4db1
Reviewed-by: hjk <hjk@qt.io>
2022-11-23 12:59:29 +00:00
Jarek Kobus
3468cd20ca TaskTree: Introduce Storage item
The Storage item makes it possible to define the whole
subtree as a self-contained, full-functional recipe, without a need
for passing (together with recipe) a one-use only (disposable)
pointer to storage object.

That's the last closing element of making the idea of pure,
value-based recipe real. It makes the TaskTree machinery ultimately
powerful.

Change-Id: Icd81bdd3e94251e8b241b2b550957d566fa4ab75
Reviewed-by: hjk <hjk@qt.io>
2022-11-23 12:59:18 +00:00
Jarek Kobus
1667b06236 TaskTree: Introduce TreeStorage class
TreeStorage enables delayed creation of instances of
StorageStruct. It encapsutates recipe on how create / delete
instance of StorageStruct. It doesn't create any instance
of StorageStruct when TreeStorage is created. These instances
will be created later, by TaskTree.

It will enable getting StorageStruct instance inside task / group
handlers (passed by lambda argument).

Change-Id: Id707353f196aa5ba3e7876d6c601e04ca08d6e63
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-23 12:58:57 +00:00
Jarek Kobus
129bd24131 TarPackageDeployService: Don't disconnect from installer signals
It looks like the same instance of TarPackageDeployService
may be reused for subsequent application run.
Close the process instead.

Change-Id: I3430404c33c14b1b4f24b728b44b3e54a57e3c9b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-23 12:40:06 +00:00
Jarek Kobus
2a830a12f2 TarPackageDeployService: Remove removePackageFile arg
It was always true.

Change-Id: I9136e924ae15471e6ffc51fa475d965fb49a7df7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-23 12:40:00 +00:00
Eike Ziller
adc064d502 Merge remote-tracking branch 'origin/9.0'
Change-Id: I69ebd63cbd780ed4edb3873acfc8aac208933032
2022-11-23 11:20:15 +01:00
Eike Ziller
373200accf Fix double * for long names of changed documents
We used to elide the right part of the name, and needed to take care of
not eliding the * away in that case. Now we elide in the middle, and in
that case the * may not be added to the elided text again.

Change-Id: I646b51d315e141a65df67841e163826e7136c118
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-11-23 10:17:25 +00:00
Samuel Ghinet
910a8864dc Use QML TreeView in Assets Library
Task-number: QDS-7344
Change-Id: Ia1ea584fc7acabb0d35b745e36fef18799f21ab5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-11-23 10:00:04 +00:00
Christian Kandeler
918c7ca52d ClangCodeModel: Make use of new clangd token type "modifier"
See https://reviews.llvm.org/D137943.

Change-Id: I313576b32fff1c9ba44e3753e3f02cdd34e2ea3e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-11-23 09:52:33 +00:00
Mahmoud Badri
a575cb4f46 QmlDesigner: Implement drag-n-drop a texture to material editor
Fixes: QDS-8339
Change-Id: Iea61c175525fbef25e763454f53e9bcc28847fe2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-11-23 09:22:13 +00:00
hjk
7e9cab6e78 Utils: Introduce a FilePath::fromPathPart()
... as shortcut for the fromParts({}, {}, x) case.
Less noise on the user side, and saves a few cycles.

Change-Id: Ie5b2a76c7261a049a3e600f29c4edaff37ab3828
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-11-23 08:41:55 +00:00
Eike Ziller
b7716087e1 tst_tracing_*: Fix build in certain configurations
There are Linux distributions that (at least for building packages)
separate the development packages for the various Qt modules.

So, to find the include <QtQml/qqml.h> in timelinemodel.h when
building the test, a dependency on QtQml is required.
Pass the dependency down to everyone depending on the tracing lib.

Fixes: QTCREATORBUG-28434
Change-Id: I58a534a9c25f1f6ecfc10a9ce8292b5983cdcbae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-11-23 08:38:02 +00:00
hjk
53526e4d4b FilePath: Backport some pathView() changes
After the change to a single-string representation, the QString
construction for path() is expensive for the comparison operators
and simple convienience functions.

Change-Id: I643c7115d3ad52f971d1692230b6eab82645b810
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-11-23 08:22:49 +00:00
hjk
c7c6ddb8b0 Utils: Replace Environment::isSameExecutable()
... by FilePath::isSameExecutable().

The only non-mechanical case is the use inside QmakeBuildSystem::testToolChain
using a build environment instead of the FilePath's device environment.

This make a difference in theory due to the use of PATHEXT in the actual
check, but I believe the case that someone creates a 'qmake.foo' and
a 'qmake.bar', adds .foo and .bar to PATHEXT and then complains that
there's a warning missing about not-matching mkspecs has zero
likelihood in reality (and will break other places in Creator anyway).

Change-Id: Id6a8d1e4dc2eb74ca81610ccb1c4ee94c6f47e12
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-23 08:07:08 +00:00