Commit Graph

92674 Commits

Author SHA1 Message Date
Jarek Kobus
51bf2d2c68 StringTable: Make it QObject-less
Replace a QTimer field with a call to single shot timer,
guarded by qApp.

Make StringTablePrivate QObject-less.

This fixes a remaining warning about destroying QTimer
object after the qApp is gone.

Change-Id: Id71bc17fc72894ad30d277c03e3f09232050d6bb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-11 09:21:43 +00:00
Christian Stenger
d301804992 SquishTests: Provide new settings for Windows
Change-Id: I9b7df60427c60f57f55fe3d163a0c5cea189150f
Reviewed-by: Jukka Nokso <jukka.nokso@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
v16.0.0-beta2
2025-02-11 06:51:17 +00:00
Andre Hartmann
f1649ae93a Git: InstantBlame: Make uncommited line info translatable
The orginal output from git is:
* "Not Committed Yet" for the author
* "Version of %1 from %1" for the subject

Fixes: QTCREATORBUG-32093
Change-Id: I541895b079880727ea0a47d1b4fda8c80b6d313c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Olivier Delaune <olivier+qt@delaune.info>
2025-02-10 19:22:25 +00:00
Andre Hartmann
3be9916cf2 Git: InstantBlame: Make tooltip actions translatable
Change-Id: I2c29a0ccfa055d8e5c10ca5d4988450341b5d716
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-10 19:22:00 +00:00
Jarek Kobus
68627afdbe StringTable: Remove redundant isMutable() check
It's included in isShared() already, which looks like:
bool isShared() const noexcept { return !d || d->isShared(); }

The isMutable() looks like:
bool isMutable() const noexcept { return d; }

So, if d == nullptr, isShared() == true, thus !isMutable() == true.
In this case !isMutable is no-op.
Otherwise, if d != nullptr, !isMutable() == false, thus or'ing it
with isShared() is also no-op.

The public access to isShared() is via the negation of
QString::isDetached().

Change-Id: If9a2c3d635504e9f54ae608b192bd9b2fb7a12f5
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2025-02-10 17:46:01 +00:00
Jarek Kobus
ec65481b54 StringTable: Fix isQStringInUse()
With the current implementation it always returns true, even when
there is only one existing copy of a string inside m_strings set,
without any reference. This is due to creating a copy of the
QArrayDataPointer:

1 QArrayData::ref / qarraydata.h
2 QArrayDataPointer<char16_t>::ref / qarraydatapointer.h 438
3 QArrayDataPointer<char16_t>::QArrayDataPointer / qarraydatapointer.h 40
4 isQStringInUse

So, the ref_ is always at least 2.

Avoid creating a copy by taking a reference instead.

Observed misbehavior: After switching session nothing is erased from
the m_strings, it cumulates indefinitely instead.

Task-number: QTCREATORBUG-18800
Change-Id: I17981d44f88307e736ec03380baa39a03f0719bf
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2025-02-10 17:43:51 +00:00
Andrii Semkiv
bc84cd209d Debugger: Replace uses of f-strings
F-strings are Python 3.6 feature and we have users with older versions.

Task-number: QTCREATORBUG-32475
Change-Id: Ia4e70f64a8d63b399e92902e952330d7267ad60b
Reviewed-by: hjk <hjk@qt.io>
2025-02-10 16:46:05 +00:00
Marcus Tillmanns
4796016e32 Core: Only allow load immediately for new plugins
Change-Id: I49b231621fdb0371b0008f32f64be11e56853f9a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-10 16:10:27 +00:00
Marcus Tillmanns
0abccb989e Core: Default to "Load immediately" during install if possible
Change-Id: Idc397eba2a80cff0e2e9f8a272a7a34f16bade9d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-10 16:08:29 +00:00
Marcus Tillmanns
5240e8c7bf ExtensionSystem: Split update into remove and install
Change-Id: Ib048d5c889bb5ac463309ea15486e3f226d84a2e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-10 16:06:52 +00:00
Marcus Tillmanns
b4b46fa38f Remove "Install location" step from plugin wizard
Change-Id: I2a6af85c7f259ba7f837a6beef079c579e451f19
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-10 15:20:50 +00:00
Eike Ziller
7da1cb57d7 Update change log for 16.0.0-beta2
Change-Id: I576bf115e78b6a4f081cbe99744b31077bd80530
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-10 14:53:14 +00:00
Marcus Tillmanns
cfda5829af ExtensionSystem: Allow updating and removing plugins
Change-Id: Ie81e697c97fbfe0dc66346f42d467e1a697606c3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-02-10 14:23:10 +00:00
Alessandro Portale
e32613cfe2 Themes: Update QtC themes to latest QDS themes state
This copies the section between ";DS Theme Palette START" and
";DS controls theme END" from design[-light].creatortheme to the Qt
Creator themes.

Any theme loading warning should disappear with this change.

Change-Id: Ib5983f8962d1fc0f5e7ce8c67fd46c73ce9d2733
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-02-10 14:01:44 +00:00
Andrii Semkiv
4be9df0a5d Debugger: Fix ARM Mac visualizers
Fixed some (primarily related to `QMap`) alignment/padding issues
on ARM-based Macs.

Note that this change does not completely fix `StdMap` debugger dumper
test, which still fails due to incorrect reported alignment of
`std::string`.

Task-number: QTCREATORBUG-32309
Change-Id: I06b8be49453546fafacfefe88acbc7197d6c9434
(cherry picked from commit caf06b1a3b)
Reviewed-by: hjk <hjk@qt.io>
2025-02-10 13:39:07 +00:00
Christian Stenger
890fd56cc9 Axivion: Limit fetch data when sorting
If just the sorting of the current dashboard changes
there is no need to refetch every bit again as this
also includes additional server-side work which is
not needed and decreases overall performance.

Fixes: QTCREATORBUG-31998
Change-Id: I3bc1841b66587b59cdf764157252e9c4b04b8605
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Mohammad Mehdi Salem Naraghi <mehdi.salem@qt.io>
2025-02-10 13:05:06 +00:00
David Schulz
1ca67ada59 Python: Fix check for outdated pyls
Unfortunately pip still reports the python language server as outdated
even if the package was updated, most likely since the old package is
still in that directory. So instead of purely relying on the pip output
we compare the pip reported current version against the version
the python language server reports when startet with "--version". Since
neither the pip nor the version check is completely free we cache this
information now in case the server is installed or it is not and no pip
is available.

Change-Id: I3a56fd5240672555bd54e92685c0c58c4dc95d7c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-02-10 13:03:28 +00:00
Eike Ziller
7046c208d1 Change log: Add comment on free commercial upgrades
Change-Id: I10c31a7b4cf7bbb07470b04d07638107d0c6c40b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2025-02-10 12:48:52 +00:00
Christian Kandeler
b84db927e8 CppEditor: Pass member name to JS getter/setter creation functions
This makes for a better out-of-the-box experience with prefixed member
variables.

Fixes: QTCREATORBUG-32459
Change-Id: I945b5f37bf444beca2ae43a9dad355d96ec37dd2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-02-10 12:29:30 +00:00
David Schulz
441a1b3e91 Python: Fix assigning python documents to a pyls
The entry for document check was introduced to avolid adding temporary
documents to a python language server, but it seems it does not work
reliable. Using the explicit Document::isTemporary is superior for this
check.

Fixes: QTCREATORBUG-32468
Change-Id: Ie6e920e975a3dcc0fe17eeae02e7d3b9610e08e6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-02-10 12:17:20 +00:00
Jarek Kobus
5b5423b442 Nim: Restore init() override
The usages if validate() disappeared in the following commits:
ec75575e64
0d185a0ad3

Restore a call to validate() from init() reimplementation.
Inline validate() body there.

Change-Id: I5999cc98345cd4d15138eb891c92d9bb9de00027
Reviewed-by: hjk <hjk@qt.io>
2025-02-10 10:21:42 +00:00
Andrii Semkiv
0c29e5b3aa Debugger: Fix QImage Preview
If a QImage is displayed in a separate window, `nbytes` variable
used to become unbound if the expression
had not been previously expanded.
Simply moved the splitting outside of the conditional block,
so that the variable is always available.

Fixes: QTCREATORBUG-32390
Change-Id: Id3d0f02e9c6a564c4d7cedfde8d7f94ba65c8d68
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit 563e2d3e73)
2025-02-10 09:59:54 +00:00
Andrii Semkiv
6ac1b0d008 Debugger: Fix dumper tests
Enabled debugger to call functions in tests.

Replaced obsolete `QDateTime::toTime_t` with equivalent
`QDateTime::toSecsSinceEpoch`.

Fixed misc `operator %` overloads for subclasses of `Check`.

Amends: f4111637c4

Change-Id: I1608f491e613c4cdb669d437158a243c7c928c38
Reviewed-by: hjk <hjk@qt.io>
2025-02-10 09:57:20 +00:00
Christian Kandeler
4cae01b99f Update qbs submodule to HEAD of 2.6 branch
Change-Id: Ibbcf38e225c9b8c65807fe260231bb92b26c2bf8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2025-02-10 09:30:02 +00:00
Sami Shalayel
156eb0bc1c qmlls: only enable outline with experimental feature
Only enable the qmlls-powered outline when the
"Use advanced features (experimental)" checkbox is enabled. The new
outline is not feature complete compared to the previous outline (namely
the icons are different), so disable the outline feature by default.

Note that the outline feature only exists in qmlls from 6.9 and later.

Fixing the icons is tracked via QTCREATORBUG-31767.

Change-Id: I0f742ad8bacf026407e2ea7b151d04033ed273c6
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2025-02-10 09:25:23 +00:00
Sami Shalayel
6b764b2d64 lsp: don't recreate toolbars all the times
Amends 5f8ffd66ff that had a connect-call
at the wrong place. Each time the toolbar needs to be rebuild, it
connects a call to the method changing the toolbar.

Fixes: QTCREATORBUG-32356
Change-Id: Ia40619d2d7a8c19bb5fd0d3fc7a0fbf133bd7c33
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2025-02-10 09:25:01 +00:00
Sami Shalayel
987c5a1930 qmlls: make go-to-definition a default feature
go-to-definition is an "experimental" feature, but it is actually needed
to fix the bug at QTBUG-131920. Therefore, make it unexperimental and
use it by default, instead of using the buggy embedded codemodel.

I am not even completely sure why it was made experimental in the first
place, as its not even mentioned on the settings checkbox (so no string
changes needed there!).

[ChangeLog][plugins][qmljseditor] Qmlls will be used to process
go-to-definition requests without having to enable the
"Use advanced features" checkbox.

Task-number: QTBUG-131920
Change-Id: I1bb106022cc8d7611fe43fabbcd327d7d8573e62
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2025-02-10 09:24:37 +00:00
Jarek Kobus
b3b7f93e8f VcsBase: Remove some dead ends
Detected by Axivion plugin.

Change-Id: Id4ee08a0e0607d8ac243113f783f8d56876f9617
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2025-02-10 08:14:47 +00:00
Jarek Kobus
edb856b671 Mercurial: Remove dead ends
Detected by Axivion plugin.

Change-Id: I9e39b345c1fe568d574aa0615c67b68c63359725
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2025-02-10 08:14:38 +00:00
Eike Ziller
ee9f6dcbac Locator: Save some setting for centered popup etc in .ini
There is no real reason to save these in the binary database, and
putting them into the .ini makes it easier to override e.g. with the
installer.

Task-number: QDS-11927
Change-Id: I499f871b4be66303f46d21084dcae37d2b987fa8
Reviewed-by: David Schulz <david.schulz@qt.io>
2025-02-10 08:04:40 +00:00
Eike Ziller
98bb609ae5 Coco: Fix translatable strings
Style fixes

Change-Id: Ic910223da2961be46fa4683e0af37132f60f5396
Reviewed-by: Markus Redeker <markus.redeker@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2025-02-10 08:04:26 +00:00
hjk
9261b3d63f Debugger: Drop empty lines at begin of copied backtrace
Fixes: QTCREATORBUG-26749
Change-Id: I7ecd85e45918f2fc70ad76fc3b977045a893f1d5
Reviewed-by: David Schulz <david.schulz@qt.io>
2025-02-10 07:27:44 +00:00
Christian Stenger
ed0a77571d AutoTest: Fix placing of summary messages
...for running CTest based tests. These where placed below the
last project although they are meant globally.
Fixes filtering issue of the results where these information
interfered with the test execution items and broke the logic
to determine whether an item is to be shown or not.

Fixes: QTCREATORBUG-32452
Change-Id: Ie8aa3e711398ca92c4ade0a65b082f97605e17c1
Reviewed-by: David Schulz <david.schulz@qt.io>
2025-02-10 05:11:34 +00:00
Andre Hartmann
c7b38a86fc GitClient: Fix typo in diff document id
Change-Id: I5d2fdff7de2ce3c859e11211c8b95d4c67473330
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2025-02-09 20:12:02 +00:00
Marcus Tillmanns
5c81ad4e43 Utils: Fix filepath test compilation on Qt 6.5.3
Amends 22720fdd3e

Change-Id: Ie339cb8d793e99295635c13a7d8992d3d0cebcf5
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2025-02-07 10:17:43 +00:00
hjk
9f5d309074 Debugger: Require at least Python 3.7
This is somewhat arbitrary as I don't want to bisect down to
what is exactly needed, and this affects only a warning.

Python 3.7 was released 2018-06-27 and is out of support since
2020-06-27 and security fixes up to 2023-06-06, so most
people should already have much newer setups.

[ChangeLog][Debugger] Require Python 3.7 as minimum for GDB support

Change-Id: I433956365965144a7b8e11bbca7d76e0bf25cf69
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2025-02-07 07:19:07 +00:00
Jarek Kobus
200074c4ac ScreenRecorder: Remove dead end
Detected by Axivion plugin.

Change-Id: I0ebab7a2a64c860b01122f373719dcdaaf81f96a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2025-02-07 06:41:43 +00:00
Jarek Kobus
2c120b24a6 Subversion: Remove dead ends
It looks like the alternative implementation of vcsCheckout()
is currently createInitialCheckoutCommand().

Detected by Axivion plugin.

Change-Id: Iab375bf5839ee87345c01a682bc04e33198f6023
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2025-02-06 20:11:32 +00:00
Jarek Kobus
008b1c94c2 Perforce: Remove dead ends
Detected by Axivion plugin.

Change-Id: I8be6968d8f485528f936526b676b2ff8e8c0f0ba
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2025-02-06 20:11:15 +00:00
hjk
7eb5258fd4 Axivion: Use dialogParent() instead of mainWindow() as dialog parent
Change-Id: Ia7aa8e0dcfe654ddc88550d4a220ab45c3fbc7c4
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2025-02-06 16:28:26 +00:00
David Schulz
b5c22ff232 QtSupport: Fix output formatter test on dark systems
Change-Id: If511632de2be26899d2bea824b1a5de6ce1c4947
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2025-02-06 13:52:07 +00:00
Jarek Kobus
6e5f649d96 Beautifier: Remove dead ends
Detected by Axivion plugin.

Change-Id: If57596124e3bae663918a9a0161164321ea7a525
Reviewed-by: hjk <hjk@qt.io>
2025-02-06 12:57:15 +00:00
hjk
751d352c8e Utils: Remove some double negations in FilePath
Leftover of the needsDevice() -> !isLocal() change.

Change-Id: I1a97cc274c01c272cd54745397eff442490f08d2
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2025-02-06 12:44:00 +00:00
Marcus Tillmanns
22720fdd3e Utils: Add FilePath::pathComponents()
Change-Id: I8741ea395435d90b30c2d07a1c33355213300ad7
Reviewed-by: hjk <hjk@qt.io>
2025-02-06 12:32:01 +00:00
Jarek Kobus
34afbf6a6b Boot2Qt: Remove dead ends
Detected by Axivion plugin.

Change-Id: Ia06762eb7de7c7c52f4366d624c7c2c510d778e8
Reviewed-by: hjk <hjk@qt.io>
2025-02-06 12:21:22 +00:00
Jarek Kobus
1ec033716b ClearCase: Remove dead ends
Detected by Axivion plugin.

Change-Id: Ie7dbc2ac7be047b3a80f13cc065f03b59d73d01f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2025-02-06 12:02:29 +00:00
Jarek Kobus
082262532f Git: Remove unused method
Detected by Axivion plugin.

Change-Id: I7d2f5fc295bcd9d3a5e1e11c9f61982c72d88942
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2025-02-06 11:54:41 +00:00
Jarek Kobus
620efdaff3 CtfVisializer: Remove unused method
Detected by Axivion plugin.

Change-Id: I10769709c6a451595b39bbbb740dfa3376ef13ca
Reviewed-by: hjk <hjk@qt.io>
2025-02-06 11:53:28 +00:00
David Schulz
b642f7a784 LanguageClient: reset semantic tokens when deactivating document
We cannot ensure that the document has not changed between closing and
reopening the document so we need to reset the tokens inbetween.

Change-Id: I84553c8d92b20ee6e2909e85de82fc8f6b2c1253
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
2025-02-06 10:22:54 +00:00
Lukasz Papierkowski
b310816043 Lua: Return request id and enable cancel notification for LSP Client
Change-Id: If59fb64acbfc56a0427b21597945ceace22897aa
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2025-02-06 10:07:28 +00:00