Using LanguageClientManager::openDocumentWithClient function to assign a
document to a specific server. This function also takes care of
deactivating the document for the old client and opens it if necessary
in the new client.
Fixes: QTCREATORBUG-26205
Change-Id: Idbff154a62d12c432a2cb10d547f78a537e63a3c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... for the context of the code assist instead of using a callback from
the text editor.
Change-Id: I636b1b267a944895d4ff732e3c0a8811332ec14f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
AbstractProcessStep is relying on signals which breaks with
the disconnect call.
Amends ebae255e49
Fixes: QTCREATORBUG-26271
Change-Id: I16ebaad68352be5c41492e5c4d4fbc3f032e2e39
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The target list was recreated when the parsing of CMake project
finished.
But for already configured projects, the list was not used when
a new build step was added. This new step will only get the
targets list when the CMake project would be reparsed.
Fixes: QTCREATORBUG-25759
Change-Id: I54d12a71dacf9fcec2ad0f3e341fe8057880251d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
(cherry picked from commit a88f1426c3)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
In Qt 5, QFutureWatcher::isFinished was only true if the finished signal
was already sent. That changed in Qt 6, where it represents the state of
the QFuture instead. Use an explicit bool for representing "finished
signal was sent" instead.
Task-number: QTCREATORBUG-24098
Change-Id: I4dd8e1c7f6659b2856634d522fb1c0f7eef6741b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
In the expression x.f(), x was wrongly categorized as an output
parameter if f was a static function.
Change-Id: I9167f98916963cdaa4b5ac6ead2c86fab43ad02e
Reviewed-by: David Schulz <david.schulz@qt.io>
... in the project tree.
Also properly handle the situation where the dialog is closed by other
means than one of the buttons.
Task-number: QTCREATORBUG-26268
Change-Id: Ic0b613be2413f96355c1b33bb4753bd1170e0671
Reviewed-by: hjk <hjk@qt.io>
... for project tree entries. The same file can occur more than once in
the tree.
Task-number: QTCREATORBUG-26268
Change-Id: I8af1e3a73d54e5a54c858fb3f7a8cf4afa83c7e2
Reviewed-by: hjk <hjk@qt.io>
The 5-pixel spacing causes the sensation of flickering while hovering
over the buttons. Other elements on the welcome screen (recent projectsm
sessions, etc.) don't have spacing, and therefore, the hovering feels
"smoother".
This change removes the spacing and compensates that by increasing the
link height accordingly.
Fixes: QTCREATORBUG-26275
Change-Id: I0159d65d941971c169faf2f156cd4f8c0ddd365c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
The target list was recreated when the parsing of CMake project
finished.
But for already configured projects, the list was not used when
a new build step was added. This new step will only get the
targets list when the CMake project would be reparsed.
Fixes: QTCREATORBUG-25759
Change-Id: I54d12a71dacf9fcec2ad0f3e341fe8057880251d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Qt6 handles multimedia and multimediawidgets as add-on modules,
so they get installed only if explicitly checked while installing.
Make them optional for testing Qt6 as well.
Change-Id: I33b0686a61bf20ace790aa0c2bc27a5219d30aac
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Do not rely on QFutureWatcher::isFinished(), which triggers a crash in
the plugin unit test with Qt 6 (race condition?).
Change-Id: I379d894ebd4a28a64b1e70e0cee6eef9ab720a14
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
(cherry picked from commit 32541fef3b)
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
It was 10 min. Now it is 10 s.
Task-number: QDS-5077
Change-Id: I703721d08631590102611c5779929fdeae47d971
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
... in the context of #include and #define. These are not highlighted
with clangd.
Amends 99790aaa42.
Change-Id: Ia86f8606d9c1d72ff9f59909e36bfd0c44704b04
Reviewed-by: David Schulz <david.schulz@qt.io>
We don't have to build all the source files, and with Qt6, we can't.
Change-Id: Ica16e90160cf4a90612f7bba28a1140d4e8c70a2
Reviewed-by: David Schulz <david.schulz@qt.io>
clangd 14 will tag non-const reference parameters for us (https://
reviews.llvm.org/D108320), so let's make use of that at least as a
shortcut.
Change-Id: I0162b5d7b9fecc3e6ce0338e896980cd5b363ceb
Reviewed-by: David Schulz <david.schulz@qt.io>
... when doing a decl/def switch via clangd.
The delay is fine for e.g. populating the outline, but shouldn't be used
when dealing with explicit user requests.
Change-Id: I0350ed6daf8220ec3b702a3876fbf0f726da8a67
Reviewed-by: David Schulz <david.schulz@qt.io>
This makes sure that Qt 5 CMake android projects return the build dir
and not the android build libs folder.
Change-Id: I675e2ea2946beb63bbe08b9bf4b7d9603c386f09
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The interface can be used for checking the context of a codeassist
request to determine
the correct processor that has to be created.
Change-Id: I47ddb05c46399566e27bae21711f11a3a4132c3f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Do not rely on QFutureWatcher::isFinished(), which triggers a crash in
the plugin unit test with Qt 6 (race condition?).
Change-Id: I379d894ebd4a28a64b1e70e0cee6eef9ab720a14
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Use 'find' on a docker image to search for diretory entries
if it is available.
If the find call fails we still may fallback to using 'ls'.
This silences currently active soft asserts regarding the
usage of sort or file filters when we are able to use 'find'.
Only support the most common and currently used options and
bark if some unsupported option is in use.
Task-number: QTCREATORBUG-26258
Change-Id: I9a082ea7aca1b6db7dcb668cfe40ed0ed48cd567
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Fix floating dock widget being covered by the main window if not having
focus on macOS.
Task-number: QDS-3144
Change-Id: I25230819a567a5582b97a0a52f0e46594dbab6ea
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Before we have matched actually "grep valgrind" process pid
and the intention was to match valgrind process pid itself.
Change-Id: I87576aa6fcf4ac302feb28f046421f7c21c1bcb4
Reviewed-by: hjk <hjk@qt.io>
The Android deployment file for CMake project was constructed based
on the main project target and thus was always expecting the file
to be under the build folder root path. This makes sure the correct
path to the output path is retrieved.
This practically different problems with running examples when the
main project is a Qt module, for both qmake and cmake.
Fixes: QTCREATORBUG-25793
Change-Id: I5fdedd94c7c4c84c351c28476ca14b0f95f99f22
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Due to the potential cost of the re-highlighting procedure, we'd like to
delay the semantic tokens update request to a time where the new token
information won't get invalidated right away due to further document
changes. While the document updates in principle have such a delay
already, it is often "sabotaged", for instance due to auto-completion
requests which require the server to know the current document contents
right away.
Therefore, we request new semantic tokens along with a document update
only if it's the "regular" delayed one, and otherwise add an additional
delay.
Change-Id: I074647d1cdfdbcc6aa5fc5ec2a2d5ae6ccd493ba
Reviewed-by: David Schulz <david.schulz@qt.io>
That is, don't just ask one random hover handler, but try all of them
and use the best one.
Change-Id: I38d0a90e96090c56240314a90f0f428c88fd222c
Reviewed-by: David Schulz <david.schulz@qt.io>
We synchronize the test tools now earlier and may
not have finished setting up the configuration of
the current project.
This means the project might have no valid target
yet.
Amends 481070d808.
Change-Id: Ic0c1817318a343e68587930c492397a6094a4ce2
Reviewed-by: David Schulz <david.schulz@qt.io>
stdErr, stdOut and exitMessage made const
Change-Id: Ia84d1441d632e4e08c24f817c6bdf742c154bed7
Reviewed-by: Alp Öz <aoz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
In particular, calling keys() and then take() for all the keys is
wasteful (and obscures what's going on).
Change-Id: Ic66803cf3579a39c23c32f1fc65e2c9399dcc583
Reviewed-by: David Schulz <david.schulz@qt.io>
There was a bug in the copying and comparison of mime magic rules, that
did not copy/compare the sub-rules.
With Qt 5 this was probably never actually used, because we save the
magic rules in a QList, and that didn't use MimeMagicRule as "values",
but internally used pointers to heap-allocated objects, so e.g.
appending a list of rules to another list of rules would only copy the
pointers to the actual objects (as long as the items were never
modified).
In Qt 6, QList has the same semantics as QVector, so MimeMagicRule is
actually used as values, which uses the copy operations. As a result,
the moment the MimeMagicRule was copied from the parser to the mime
type, it would loose its sub-rules. Which breaks the whole mime magic
logic, and leads to wrong mime type resolution, e.g. for *.ui files.
Change-Id: I90c46264423f18f73a6efc01887a0b8b6199d35d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>