Connect to done() signal instead of finished().
In case the process failed to start it will delete
itself from inside done handler.
Change-Id: I277779904d571759bf3877860d64e80ad304c2da
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Connect to started() signal instead and continue
setup in its handler. Handle failed to start case
inside done() signal handler.
Change-Id: Iaf184ed3e934b1bd5f8128a6aa9c72e9f27e0f56
Reviewed-by: hjk <hjk@qt.io>
We have to check if the rewriterView()->errors() are actually empty.
Change-Id: Icbcc82aa9229078fd51c975e48de3e1f06c29f4d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Even for pragma changes the statement can be getting busy. To prevent any
exceptions in that case we set the busy handler directly after opening
the database.
Change-Id: Id10aab20d812d5224f8031fa895c396762858fdf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This fixes passing the hints from FindExportedCppTypes to
the actual cppeditor so they can be displayed to the
user.
Fixes: QTCREATORBUG-27243
Change-Id: Ibcb68296f044a9c6a96f40945d8a0e964be7f042
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Turn off clangd by default if we think the system does not have enough
memory. Inform the user and let them override our decision.
Task-number: QTCREATORBUG-19297
Change-Id: Ib9715c2f089c10d7a2a559a25180e9a943c118b1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This method should be only for internal use, since it is
different from errors.isEmpty(), because the rewriter is only inErrorState
if parsing/rewriting fails, not if there is a semantic error.
Change-Id: Ib021e5e80750a4edcb4661755e85e6880fd6617c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Uniform version number parsing inside AbstractSettings.
Get rid of updateVersion() virtual method and add
protected setVersionRegExp() instead.
If the user calls version() we wait for version process
to finish if it was running. This makes sure that we
don't return old / invalid version number while version
process is still running.
Change-Id: Ie27816534dd52c086acde721f3b49e669a7c30bc
Reviewed-by: hjk <hjk@qt.io>
cmake creates a consistent uri structure in the build directory.
We use that as import path, but when we find a type in them we should
refer back to the original file, as editing those is dangerous because
any edit are lost with the next build.
To find the original file we use the qrc, as the qrc path is mostly
the same of as the uri path.
It is possible to add prefixes which would make an exact match fail,
so we compare the paths from the right to the left and find the
longest match.
To acheive this:
* QrcParser keeps a reversedResources, so the match from right can be
done efficiently, and provides a longestReverseMatches method
* the model manager keeps a list of all common prefixes of the
application paths (build directories), and identify all files in
build directories
* the method fileToSource identifies the files in the build directory
and tries to find the corresponding source file, warning if he
cannot find it
* fileToSource is used for follow Symbol and find usages
We could use fileToSource much more aggressively, to use to in editor
content for the files in the build directory, increasing the
consistency, but that is a more dangerous change for later.
Fixes: QTCREATORBUG-27173
Change-Id: Iea61b9825e5f6e433a7390cf2de9564b792458a5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Visual Studio 2022 v17.3 is in preview state and adds support
for arm64, arm64_x86 and arm64_amd64 toolchains.
Change-Id: Iff2cb13c9ebef77d40804c7dd8b3df6488e6ce41
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
The separation is the first step of proper supporting the
native Visual C++ Arm64 that is now in preview in Visual Studio v17.3
Change-Id: I8cfa4b5b248158db68cb4af081dd59cabcd28c95
Reviewed-by: David Schulz <david.schulz@qt.io>
We simple provide an empty implementation. The project storage is anyway
not used by default. So it is expected that the programmer is providing
a qml dom if he wants to use the project storage.
Change-Id: Ib652e7589b4f773a4474974f6762490c5d515999
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Get rid of crashed() signal, since the handler of this signal was
doing the same as the handler for finished() signal.
Change-Id: I7cb2d53bbf0bdcea58c2101efe97a82505333740
Reviewed-by: hjk <hjk@qt.io>
Don't connect to QtcProcess::errorOccurred() signal, as it's going
to be removed soon. Rely on done() signal instead.
Change-Id: I28260f8eb77911a23de80512881cf7220f1bc1fc
Reviewed-by: hjk <hjk@qt.io>
... into separate functions. Makes the use of the parameter clearer
and is easier to connect too.
Change-Id: I061b0b5c847ae1e695afc75332e634ddf2576d6c
Reviewed-by: David Schulz <david.schulz@qt.io>
QtcProcess::done() is also emitted when process failed to start.
Change-Id: I08f6f104014d1c90c0f761de352dada620207d86
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Do not send messages to server that are not reachable, but queue the
highlighting requests until the client is fully initialized.
Change-Id: I7da140ec33fb1974d3eaed03110ed85dc3a87594
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
We add the attribute textually and show a warning icon.
Fixes: QTCREATORBUG-2325
Change-Id: Icc0305a703e26c84095167087b30fa3456f97614
Reviewed-by: David Schulz <david.schulz@qt.io>
It can happen under certain circumstances (high system load, overworked
clangd, ...) that "follow symbol" requests get replied to very late,
with the user having manually navigated to the target document in the
mean time or started doing something else entirely. In such a situation,
it would be disruptive if we were to jump to a symbol suddenly, stealing
the cursor from the unsuspecting user.
We now prevent this by aborting the "follow symbol" procedure if the
user does something else with the document.
Fixes: QTCREATORBUG-20878
Change-Id: Iea52db661e8ba634951b18654a94e4b90580f001
Reviewed-by: David Schulz <david.schulz@qt.io>
915be6606ead2 in Qt base introduced an assert that triggers
occasionally.
This here moves the original check to the fakevim side, without
changing (possibly wrong) functionality.
Change-Id: I435ea53ecc0ba1a905dee2f4e3f8feb3c6dc7db3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>