The look up of function definitions is quite costly. Limit
it to the test data functions as we need them when looking
for data tags.
This limitation reduces the time of a full scan here by
more than 40% compared to without limitation.
Task-number: QTCREATORBUG-29301
Change-Id: Ia692aab8cfcc1c98ca9a2d53c935d7755314f736
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Adds a report() function which generates a simple string
holding the number of items per framework root node and
uses it inside the logging after a full parse.
Change-Id: Ib4be89de778aeab7e9c80b5c0522ee7f3f1bb587
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Add an option in the QML Language Server settings to disable the code
model, for now it allows to use qmlls for renaming and find usages
operations.
Some of the checkboxes in the qmlls settings were not making a lot of
sense, rephrased them to be easier to understand for the user.
TODOs for later commits:
* use qmlls for 'go to definition' aka 'follow symbol under cursor'
* add extra action to the context menu for 'go to type definition' and
implement it using the language client
* also, remove builtin codemode stuff from the context menu when the
builtin model is disabled
Task-number: QTCREATORBUG-29567
Change-Id: I6283d99bd2b5dc8aef7df49994eb313bfbb854c6
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Simplified interface for the BindingModel and DynamicPropertiesModel.
Change-Id: I772f31be704afe2a43c6368aefab1b026b85ec8b
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
The abort callbacks does not need any lock. It even can lead to a
deadlock if they call back. And a thread was always newly started.
Change-Id: I0e25b66bb3647aae16113628487acaa4c7377819
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
There is a compile time check for the size but it seem that clang is
missing that information.
Change-Id: I53ea97cd2a56f11e7ff4428a13b39d19a7d73cf1
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Because QHash is supporting std::hash we don't need to add a qHash
function. That is saving us an include to qhashfunction.h too.
Change-Id: I457051c828d25771028f3f28bf19ecb65c51edd1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
We definitely do not need to do this during startup of Qt Creator, delay
to first use.
Change-Id: I5942b5346aedc3d6b677918ad28a6c2924d09493
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Sqlite adds an implicit transaction if no transaction is used. That can
be problematic if you use multiple statements but it is okay for one
read statement.
Write and read write statements should use immediate transactions
because the acquire the write lock. Otherwise the write lock is only
acquired as you try to write. From there it is much harder to recover.
Change-Id: I04b0be7447f2b82b6921738d789c33cbbaa8de6e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
The old implementation was not supporting iterators. Which made it a
little bit complicated to use it together with algorithms.
Change-Id: I99cf43dffb4bcb83a953ca1c68ebc65722142ad9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Each ActionContainer used to schedule an invokeMethod on the event loop
when it changes, which creates an unnecessary amount of individual
events, especially during startup.
Instead schedule that update through the ActionManager, which then can
schedule a single event that handles all updates up to that time.
Change-Id: Ia193606adc4cfda88df8e45f2027662ca16f2ad3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
The screen recorder plugin allows a user to record the contents of a
screen (or part thereof), and in a second step to export the result as
various lossless or lossy animated picture or video formats. Before
exporting, the recorded video can be trimmend in length and be cropped
in size.
All functionality relies on the ffmpeg/ffprobe tools, which need to be
present on the user's system.
This initial version of the plugin introduces a settings page, and a
recording/exporting dialog with sub dialogs for recording and export
options.
Some autottests for ffmpeg/ffprobe output parsing are included.
Task-number: QTCREATORBUG-29366
Change-Id: Iaf16d369fd9088d69b1bd130185ca920d07b34c6
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The new implementation doesn't require these colors to be stored in
external dependencies anymore, as auxiliary properties are used for
them instead.
Fixes: QDS-10496
Change-Id: Ie71408617259d1af73a45f327d4bdfa4f2fa3a2b
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
When applicable, the flag makes a significant difference in
performacnce. However is easily forgotten in cases where it
is applicable, and cases where it is accidentally used are
easily spotted visually. So arguably, opt-out is a better
default than opt-in.
Change-Id: I88aeb05b42533ba4e23c39573a3ddd016343cd55
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Changes a few remaining QSettings members that popped
up when trying to build with "apt-get" Qt 6.2.4.
Change-Id: I3caa8545cf02d6453b802559c2f65279e1fb63fd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Seems to be the right choice in the contexts we use it in.
Supersedes db1d12f69a.
Task-number: QTCREATORBUG-29509
Change-Id: I3816ec57d8484404420c7bee1c2b12e8df224cb8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>