On documents with a lot of lines of code (e.g. ~30k) saving the
documents takes ages (+6 seconds).
With this change the time is reduced to less than 150ms.
Change-Id: I8a40253a91ae40a6681d5acf1f09711c9b63bd6f
Reviewed-by: hjk <hjk@qt.io>
Qt 6 ignores the call to close() for the main window, if the options
dialog is still open, so explicitly close it if the user chooses
"Restart Now" from the "Link to Qt" button in the Qt options.
Fixes: QTCREATORBUG-26279
Task-number: QTCREATORBUG-24098
Change-Id: Iaa1c4774dde5e20a7f40b03e0b8768fc9c22dd6c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
- Get rid of lag when two-finger-swiping
- Enable one finger swipe and scroll gestures for the magic mouse
- Fixed a bug where the toolbar zoom slider from the transition.-
and timeline editor where not updated when zooming with a gesture.
- When scrolling the curve editor, its toolbar was scrolling together
with the rest of the view. This is now fixed in order to be
consistent with the timeline view and transition editor.
Change-Id: I611015af134976588fbcada0bc5ccfdcf8039c27
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
... and make use of it in the built-in code model and with clangd.
Task-number: QTCREATORBUG-16580
Change-Id: I8c331f56aa1bbf91c9f768be82a779a72f40c4c7
Reviewed-by: David Schulz <david.schulz@qt.io>
ComponentTextModifier offsets were set at modifier creation time, and
were not adjusted for changes on the document before the subcomponent
code. Added rudimentary change detection logic for code additions and
removals before subcomponent code and adjust offsets accordingly.
Fixes: QDS-5305
Change-Id: I816adc1fc867b7135b992fb50a5d96e2cfd3f0d2
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Evaluating the NodeHints can become a bottle-neck in large scenes.
The columnCount depends on the filter and is called many times
during painting.
For large scenes with many nodes this becomes a real bottle-neck
turning QDS unusable.
Task-number: QDS-5277
Change-Id: Ifbd9ec8024e30541bfaafba4c44db47f5c426bfc
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
The user shouldn't care about the order of the individual cursors inside
the MultiTextCursor, so the order of selected texts should always be the
same as in the document.
Fixes: QTCREATORBUG-26494
Change-Id: I0d5199bda4e48f8482e20018b8f05020e16da3f6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
... when doing "find usages".
The symbol info request follows typedefs, which will result in confusing
search window contents. So do the symbol info request only if the cursor
is not on a normal identifier.
Change-Id: I0d3bd8bfd47879c59e6656a4da73344406c97a21
Reviewed-by: David Schulz <david.schulz@qt.io>
When dropping external assets, create the items in 1 transaction so
that 1 undo press undos all assets creation.
Change-Id: I45b38542f41964a18fd6095eea9bf61b9dca4392
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
If default property has actual value, binding, or inline node set,
it should be removed also from the QML doc when removed from the model.
Fixes: QDS-5239
Change-Id: Iffc27685321f96af46148ab877566c2026cc47d5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Not worth a file pair of its own.
Change-Id: I5a7e64d142e38a075f726ca6d6a8cb2e4a39e57b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Pointing the user to the relevant package that has to be installed in
order to get the full dumper functionality.
Task-number: QTCREATORBUG-26456
Change-Id: I0e80f06e1cadcaa9ad2f8a734ca4dda026fc95db
Reviewed-by: hjk <hjk@qt.io>
The indirection is triggered via scheme and host. And if it already is in
that form we do not need to add these information.
Change-Id: I13c2bd0864a956c5cdaa5e2e6b324bb7f67c93e3
Reviewed-by: David Schulz <david.schulz@qt.io>
Invalid QVariant is a valid value for properties of type QVariant, so
propagate the value change from puppet to creator in that case.
Also change the property editor to notify controls of value change in
case of invalid value set, and clear LineEdit when invalid value is
set.
Fixes: QDS-5304
Change-Id: I02c7daaf3cde06317690a32e7ac8a82da754bd58
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
It's been available since a while, and is the preferred way to use it
nowadays.
Task-number: QTIFW-2349
Change-Id: Ic55f209ab7068d1d093cf92cb21e33794c0b04f1
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Create future watcher only prior to starting an async task.
After the task is done, clean the watcher in order to release
the resources kept inside its QFuture's result.
Make setupFutureWatcher() a private member. Provide
a corresponding cleanupFutureWatcher().
Change-Id: I9d2b058250a3f749a2c9ad51323d2d38f66ee98d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
That's implicit in .onDevice() since c82e3cf6a8, doing it twice
is not good.
Change-Id: I8c1d5d31d155d3a7c4af8bd874fbba5ab3e8cf72
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
As well as all other commands called via DesktopDeviceProcess.
Fixes: QTCREATORBUG-26485
Change-Id: Icfd3ab69de771bf58d5e9202fe1879e4063d5204
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... with clangd.
This required rewriting getAstPath(), because the previous
implementation did not do the necessary backtracking and could therefore
miss the AST branch containing the node fully matching the input range.
Task-number: QTCREATORBUG-22381
Change-Id: Id5caf2a401b920c0e76f742bec97b5ca6977b4df
Reviewed-by: David Schulz <david.schulz@qt.io>
... by default.
This feature often doesn't do what you'd want it to, so we make it opt-
in.
Change-Id: I631eae9c154ddcb0e8feeac44c5d5c0265706a67
Reviewed-by: David Schulz <david.schulz@qt.io>
This reverts commit 9edecd1c94.
Reason for revert: Broke the build on Windows: LINK : fatal error LNK1104: cannot open file 'lib\qtcreator\qbsvariant.lib'
Change-Id: I393a8eb90ed21344d6ff6d9e87a5b421b5cb9491
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... in the "Create implementations for all member functions" quickfix.
Fixes: QTCREATORBUG-26468
Change-Id: I0965290c38cc66cffaf5dd3871eb96b6ff24b4d2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
So it can be accessed from a wider range of places.
Change-Id: I282883addecf7bb070a65d9f4f7b8e6e2e4b5e47
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
Before the m_startFailure flag was used to detect the case
when the process failed to start because of wrong filename.
As this flag was set on any possible error we have always
detected the wrong filename case. Replace this flag with a
new enum describing various start failures.
Don't report again the crashed message. Check if we have already
reported the stop and we don't report it again. The
processExited() handler is being called twice: directly from
localGuiProcessError() and through the delayed localProcessDone().
Fixes: QTCREATORBUG-26467
Change-Id: I3cc6aa0c0b702256cefd77ba95793cd31e82ae10
Reviewed-by: hjk <hjk@qt.io>
This was a helper in the initial work on docker support which has
been commented out for a while already.
Using "docker runconfig" would technically work, however, this is
conceptionally the same as the old "matrix problem": We'd need
docker-specific almost-duplicates for every existing non-docker
runconfig. This does not scale.
Change-Id: Idf96abb6487903fdb89e7168a5ed78b9dc9dcecf
Reviewed-by: David Schulz <david.schulz@qt.io>
These two objects are only used when QtcProcess::runBlocking()
with m_processUserEvents option set is called, otherwise
they are unused. Create them only when they are needed.
This also solves the issue that these two QObjects were not
moved together with QtcProcess when it was moved to another
thread.
Change-Id: I7de6a92a51fc249184fc5811dac7a7bbf05d351f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>