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>
As on it, correct the handling of the launcher interface.
This still does not work due to wrong call of valgrind-fake.
Change-Id: Id835e84eee29720579ac2947906bb95f84377185
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
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>
Relieves the user code side from repeated code which then tends to
get forgotten.
Change-Id: I079f97a658b55f3c79111df1946b8d72863ce513
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The code would blindly remove all "options" starting with /, which meant
that all file paths arguments got lost on Unix-like hosts.
Fixes: QTCREATORBUG-22949
Change-Id: I43e2b1e57ed0e9ced9da8fa46d98d9ac25f83d13
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Currently, signing a package by androiddeployqt automatically implies
the --release option, but there is a fix that removes it from being set
by default. To prepare QtCreator for the upcoming change and not to
change its behavior, we need to manually add the --release option to the
argument list.
Change-Id: I31df1b8252a4444afde95a043848391590f4db82
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Instead of connecting to errorOccurred() and finished() signals.
Change-Id: I57adabc52b38be6b22a4d7380e6fbaaae3192201
Reviewed-by: Christian Stenger <christian.stenger@qt.io>