Commit Graph

82976 Commits

Author SHA1 Message Date
hjk
648efd6524 Utils etc: Even more Key and Store
Change-Id: Id2405d8a89c47ea766439eec91db36ed7313eb92
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-25 07:20:00 +00:00
Eike Ziller
f2da62fd22 Fix exclusion of system directories from (DY)LD_LIBRARY_PATH
We should not only exclude children of system directories, but also the
directories themselves.

Fixes: QTCREATORBUG-29478
Change-Id: I1aa18b2faa03d241b8cc43eb157b5fa49285a12b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-25 07:16:35 +00:00
hjk
788eb8a72e QtSupport: Make CodeGenSettingsPage use the standard settings pattern
Change-Id: Idf4cf50f186e79981d64d9e9567b7fcbcb9eb1cd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-08-25 06:15:35 +00:00
Cristian Adam
dd1c9d1b71 App: Replace QtLockedFile usage with QLockFile
We had an import of QtLockedFile from 2008. On Windows we could see a
lot of QtLockedFile cycles for qtcreator.exe. The 2008 version was using
a semaphore.

I've tried the latest QtSolutions version from 2016, which was using
only mutexes. qtcreator.exe would still show up lots of cycles for
QtLockedFile.

Then switched to QLockFile (added in Qt 5.1), and I couldn't see any
more CPU usage!

Task-number: QTCREATORBUG-29416
Change-Id: Ibfd102f3e90de39c807ff1140e597b79a7b6ca8e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
(cherry picked from commit 1fca05959f)
2023-08-24 18:06:35 +00:00
Alessandro Portale
637fdcc5ba Revert "App: Replace QtLockedFile usage with QLockFile"
This reverts commit 1fca05959f.

Reason for revert: Portale +2'ed under the assumption that this
goes into the master branch. This year old issue should definitely
be fixed, but typically not that urgently in a .3 patch release

Let's revert this and move it on master, please. I take the blame for the messy git history.

Change-Id: I8ae5a5e8e89ce38e7fe663b09cb6c2c3ab520ab0
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-08-24 17:09:48 +00:00
Cristian Adam
1fca05959f App: Replace QtLockedFile usage with QLockFile
We had an import of QtLockedFile from 2008. On Windows we could see a
lot of QtLockedFile cycles for qtcreator.exe. The 2008 version was using
a semaphore.

I've tried the latest QtSolutions version from 2016, which was using
only mutexes. qtcreator.exe would still show up lots of cycles for
QtLockedFile.

Then switched to QLockFile (added in Qt 5.1), and I couldn't see any
more CPU usage!

Task-number: QTCREATORBUG-29416
Change-Id: Ibfd102f3e90de39c807ff1140e597b79a7b6ca8e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-08-24 16:50:24 +00:00
Cristian Adam
6a30ebd01e CMakePM: Only set cmake reply fileWatcher after CMake has run
This avoids the case when CMake would trigger the file watcher when
generating totally different json files.

For example switching branches and doing a build on a big project, like
Qt Creator for example.

The filewatcher would be triggered and the UI would freeze for quite a
while.

Task-number: QTCREATORBUG-29416
Change-Id: I6ff47d8c2553f7718e82d92daae99036f37aca7d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-08-24 15:23:21 +00:00
David Schulz
f8005cced8 Python: use internal terminal for pip install task
Change-Id: I4125f8a12c7a6d2f7d5ebaaf5150051e330b6832
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-24 13:53:43 +00:00
hjk
4943f387c7 Core: Merge editor factory classes
Mainly to simplify the implementation and naming.

Kind of follow-up to 862c9694.

There is some consolidation needed as followup as well as some potential
renamings. I'd leave that for separate patches to keep this here
somewhat self-contained.

Change-Id: I152e138a1d5baadec3f7542fed0894b8d4ffc8a3
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-08-24 13:51:52 +00:00
David Schulz
512da70456 LanguageClient: fill workspace configuration response
There is already a way to programmatically set the configuration for a
client, take this into account when generating the response for a
workspace configuration response.

Change-Id: Id59b643eefc59732c856c356317764e6c54af69a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-24 13:48:35 +00:00
David Schulz
7fd8df9300 Python: Allow installing requirement files
Change-Id: If4ac1470fdba4b9f1070fc37d35d5d738a18865f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-24 13:47:42 +00:00
hjk
301112adeb Fix compilation
Change-Id: I1cdf177a3f183a330c405abae7232d7a08cc0742
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-08-24 12:41:41 +00:00
hjk
6c2864bd4b ProjectExplorer: And more Key and Store
Change-Id: Id5787890bdb46bfeef8e3f37923e6dc26cb56c31
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-24 11:20:25 +00:00
Marcus Tillmanns
16454e13eb Core: Allow saving documents without filename
In case a document does not yet have a filename,
simply fall back to save as

Change-Id: I3cb30ab39e30ecba5c720d4b7d4c955f9dd4609f
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-08-24 10:42:10 +00:00
hjk
621a2850d0 Utils etc: More use of Key and Store
Change-Id: Idd2d70617f775d783aee93a2fe82544ad335a739
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-24 08:51:00 +00:00
Marcus Tillmanns
0490266723 Utils: Add Aspects::volatileToMap
Change-Id: Ic4b77e27570485864cb4a9a412d685c400a9e7d1
Reviewed-by: hjk <hjk@qt.io>
2023-08-24 08:49:06 +00:00
hjk
91c1fdb457 Android: Three more simple aspects for AndroidBuildApkStep
Change-Id: Ida4012ab21aa6a05d2222f41350065a38618b9b0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-24 08:44:05 +00:00
hjk
5254765e16 ProjectExplorer: Re-organize KitAspect layouting related functions
Less obscure as it's fairly close to the standard pattern now.

Change-Id: I4680465fbdb9fb6a458c18ef0534e4d8a4a31d1e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-24 08:40:32 +00:00
Eike Ziller
5f8fdc4e9e Bump version to 11.0.3
Change-Id: I9ab3fb0158eee32c8019635bcd9aae2455df98f7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-08-24 08:29:28 +00:00
hjk
0667bdaedc Utils/TextEditor: More use of Store and Key
Change-Id: I2feb47b2e6af7a299912b0c73a0c5d8a0e18a8aa
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-24 06:51:20 +00:00
hjk
2bf886ed73 Utils: Use a bit more Key and Store
Also, separate the Key into a separate header to minimiz impact
on #include load.

Change-Id: I4f719cad4d23a71a9c228d0b7f5c2409fd6e24d5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-24 05:58:05 +00:00
hjk
6e307be365 Utils: Rename the new Storage to Store
Apparently that's what the young people on the web use for such a thing.

Change-Id: I75d5396ff3cb3c26efd6008b5f2261354c4f7896
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-24 05:56:57 +00:00
Friedemann Kleint
14d21f4f2c Designer plugin: Simplify connections
Connect to members instead of using lambdas.
Amends 93de403391.

Change-Id: I401f550ee3f2e3a12086b064f698ec2fc8b5aca6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-08-23 18:50:31 +00:00
hjk
ff647966e5 RemoteLinux: Disable private key path chooser unless key use is selected
Fixes: QTCREATORBUG-29534
Change-Id: I55b0869083ad10a43b635c79c33466b016540a41
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-08-23 16:28:15 +00:00
hjk
5aa503d3d3 Utils: Compile fix
Change-Id: I7b3298313d16b778ba471330d4d019f7e6d92b92
Reviewed-by: hjk <hjk@qt.io>
2023-08-23 15:04:01 +00:00
hjk
753c00543d Utils: Introduce a Storage class
... mapping Keys (currently QString) to Data (currently QVariant),
i.e. effectively an oddly named QVariantMap.

Plan is to

    1. make QVariantMap using loading/saving related functions to use
       Storage instead of QVariant map,
    2. replace QString by a UTF-8 container (QByteArray for starters)
    3. add/remove parts of the map interface so that neither decoration
       of string literals in user code are needed, nor that
       unnecessary allocations happen.

Long term Storage could cover some of the current JSON uses, with
Storage's implementation possibly switching over to something
based on JSON (or CBOR?) directly, to be closer what we typically
send over the wire.

Change-Id: Ic33b8e95fed5268d6298b5391ff42cbb582b56c4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-23 14:58:52 +00:00
hjk
dc6b40a5c0 Use Utils::Storage instead of QVariantMap in a few places
Change-Id: I02833cf2bc3caaadc22ff93ae530e4aebe4c3868
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-23 14:30:50 +00:00
hjk
55b5b8a975 CMakeProjectManager: Fix connection to save tools settings
Amends 4e23f2a6eb.

This should actually not be needed in the end, and rather steered
by the auto registration and settings page apply.

Change-Id: I7f94e776fec4394f539e32e5c527c367251654a8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-23 10:47:10 +00:00
David Schulz
6e6587c528 ProjectExplorer: allow adding expanding project settings widgets
Change-Id: I27dee2a8d1b14d1dcc535669e3dc9c5369ec2c81
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-08-23 09:14:44 +00:00
Eike Ziller
13fa7703a4 Merge remote-tracking branch 'origin/11.0'
Change-Id: I6c2a1d497aae9bda45c4aae47fb0be6c61c1ec29
2023-08-23 09:30:32 +02:00
Dominic Ernst
72480f5dd6 Todo plugin: add \todo keyword to default settings
As Qt Creator supports Doxygen style comments, the Todo plugin should
also find the \todo keyword by default.

Change-Id: Ic0acbcfe610b7752acfd77dfcc6717895f6e97b7
Reviewed-by: hjk <hjk@qt.io>
2023-08-23 05:43:56 +00:00
hjk
6216c0e924 ProjectExplorer: Don't use object names for KitAspectFactories
Not used. Also the debugger knows the typename and these are
singletons.

Change-Id: I577241876318aa2930bbc36f454846ffa47cb571
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-23 05:38:50 +00:00
hjk
a7630f999f Android: Use a aspect for AndroidBuildStep::buildAAB
Testing the water...

Change-Id: Ic5bd970519f0ec11e03ba19a24e0aeb2a84a18e3
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-23 05:38:18 +00:00
hjk
45bae4b525 ProjectExplorer: De-Q_OBJECT-ify FilterTreeView
... and rename some local variables.

Change-Id: Ia54a96a4f40c7f4b5ded29df34a12e718d86bd3c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-23 05:37:47 +00:00
Jarek Kobus
201b28f362 Android: Unexport Android plugin
It doesn't seem that any class from this plugin is used outside.

Change-Id: I88a63e4c41cbd4b20f0de8bbd05668f55bafdc97
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-08-22 15:15:13 +00:00
Jarek Kobus
53f16e9b49 AndroidManager: Remove some unused functions
Hide one internally used function.

Change-Id: If286880397a1c6fd808b3eee22332e905911f4d1
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-08-22 15:14:52 +00:00
Jarek Kobus
c72734e678 AndroidManager: Make it a namespace
Unexport it, as it seems that no method is used outside of the
Android plugin.

Change-Id: I5c76234a1f37ddfa3dcfa51ded5a441163ec9093
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-08-22 14:52:56 +00:00
Andreas Loth
020d4c72e4 Axivion: Use type aliases from updated Axivion Dashboard DTO generator
Change-Id: I4e27c90d643d4e4ca33fde8dc0ae6e62e6a78fb6
Reviewed-by: hjk <hjk@qt.io>
2023-08-22 14:09:29 +00:00
Jarek Kobus
c8a25e8fd9 AndroidManager: Cleanup includes
Change-Id: I779eadcc978e76adff8f6e4a0671f3db6a2a2402
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-08-22 14:01:23 +00:00
Jarek Kobus
8bdf70e271 AndroidManager: Use Utils::Process for startAdbProcess()
Change-Id: I675d0103bee854af67d379d08a7e0ddbc6654e8d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-08-22 13:59:19 +00:00
Christian Kandeler
b33b99e2d9 ClangCodeModel: Take changes from header files into account immediately
... in the dependent sources. That's also how the built-in code model
behaves, but clangd itself only does this when a document is saved.

Change-Id: I52d6badb0b7f063e5924c05dbf83a6e9849c9f6f
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-08-22 13:59:04 +00:00
Marcus Tillmanns
73c5cf29c4 Utils: Add missing connections to validChanged
FancyLineEdit and PathChoosers valid state can be
asyncronously update, so users need to connect to the
validChanged signal to correctly update the UI and not
just to textChanged, or rawPathChanged etc.

Fixes: QTCREATORBUG-29525
Change-Id: I706fef61f6228af7dae9271a146cf739c3202cc7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-08-22 13:45:46 +00:00
David Schulz
806e24138b LanguageClient: send out empty workspace configurations
... instead of an error when the server asks for the configuration even
if we do not provide a way to configure workspace configurations yet.

Change-Id: I0d330b47a12627af100bf9d9b1eec34a58d6471b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-22 13:42:37 +00:00
Christian Kandeler
2f6bec1d48 ProjectExplorer: Fix clipping problem in issues pane
Add the missing call to QTextDocument::setTextWidth() in the delegate's
paint() method, add a workaround for invalid QStyleOption::rect in
sizeHint(), take item indentation into account.

Fixes: QTCREATORBUG-29458
Change-Id: I56d9f942d6c82dfac82d357ca0f16138ed39150d
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-22 13:41:49 +00:00
Marcus Tillmanns
3024c1314e Utils: Speed up isDirectory for roots
Change-Id: Ic369bb1b6a5deb84f0da38af7e71d51139a67c9e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-08-22 13:28:16 +00:00
hjk
45e3fa1621 ProjectExplorer: Simplify KitAspect::addToLayoutWithLabel()
The parent widget was not used anymore.

Change-Id: I57bb024b770c01efc68bb722623bcc7fb565cfeb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-22 13:14:02 +00:00
Marcus Tillmanns
882397d53d CMake: Remove outdated check
Change-Id: I490a68f9b4719c65b4058f5263b13bc5979fd6b2
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-08-22 13:00:56 +00:00
hjk
4e23f2a6eb CMakeProjectManager: Hide kit aspect factory implementation
Also avoid re-instantiation of factories in the build configurations.

Closer to the setups of the other kit aspect(factories).

Change-Id: I1b74a68287b63ee94ff18106d3a00b23624a601b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-22 12:56:12 +00:00
hjk
effcc0d471 Project: Inline kitmodel.{h,cpp} into kitoptionspage.cpp
The only user.

Change-Id: I4fea0752c68b70eb1fe6d9db561d70830b6174aa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-08-22 12:48:42 +00:00
Christian Stenger
0a83f33bad CMakePM: Remove unused include path
Change-Id: Id48ea93a1b9728c7cd68cfa3f52620a799909371
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-08-22 12:06:47 +00:00