Except for our Qt 5 workarounds with toStringView, qHash return value,
and ProStringList which must be an explicit QVector for Qt 5.
Most importantly that pulls in a change to
ProString::toQString(QString &tmp) const
from 76004502baa118016c8e0f32895af7a822f1ba37 in qtbase, which replaces
a setRawData call which otherwise leads to severe issues when built with
Qt 6.
Fixes: QTCREATORBUG-25574
Change-Id: I488b4e0b63becc59a4ea34aace5c249921fa1a60
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The initial implementation is a copy of QbsProcess
with some small adaptations. Start a LauncherProcess
in Creator's main function, just after the creation of
the application object.
Change-Id: I016df3ed664d7914c73f4a35742d5a63d5faaca0
Reviewed-by: hjk <hjk@qt.io>
Abstract part of QProcess interface into ProcessInterface
pure virtual class. The current API of ProcessInterface
is a part of QProcess API used currently to implement
QtcProcess. Provide 2 implementations for it: QProcessImpl
which uses QProcess and ProcessLauncherImpl which is currently
empty implementation with assertions that no method is being
called. Provide an additional switch to QtcProcess c'tor
for selecting the preferred implementation, by default it
selects QProcessImpl. This change doesn't influence any behavior.
Change-Id: Ia5328401affe127f3d36870be8478202d4143480
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Effectively redirecting to the !needsDevice() branches in the respective
FileUtils implementation.
Change-Id: Ib24f1ff6fe5301323fd1296cc2ffceb0db9e4672
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... when clangd takes over a document.
This fixes the problem that temporary diagnostics persisted after opening
a session.
Change-Id: Ic781f83747cabb4d15c2c1f8181e36f4343e0394
Reviewed-by: David Schulz <david.schulz@qt.io>
CDATA is send in chunks and we lose possible newlines as
we handle the output line by line.
Add it explicitly while processing.
Change-Id: I36bad7f23e2b9b3a5ce9ec92d2d1cb6211dd43a6
Reviewed-by: David Schulz <david.schulz@qt.io>
Broke while moving over to use Utils::FilePath and correcting
the varying usages of name.
Change-Id: I6099f5f0dbc022d831fef78652932d69bd2e4326
Reviewed-by: David Schulz <david.schulz@qt.io>
Do not try to reuse the QFutureInterface that is used for the parsing
process. Reusing the QFutureInterface can lead to issues. So far no
problems were triggered, but a30aa4421a
introduced a watcher that tells the qmake parser to ignore all system
calls after the future was canceled. This was somehow, sometimes
triggered on the reused QFutureInterface even though the user didn't
cancel anyhing, leading to all system calls to bail out in the
subsequent run.
Using a new QFutureInterface instance for each parsing run solves the
issue.
Amends a30aa4421a
Fixes: QTCREATORBUG-25970
Change-Id: I6836c97038c36968e93815c6121bc284edbe19bb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Do not react on documents contents changes, but postpone the document
symbol request after these document changes were send to the server.
Change-Id: I43ec8f832c6a1fa6471146a5ec6e3e9223b02c91
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
To start using the docker bits the emsdk location has to
be specified manually in the path selector as
docker://<id-of-image>/<path/to/emsdk>
Change-Id: I70c6e7a334762953c3931105b7f697c608523159
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... and rename it to searchOnDevice().
We need to handle additional search directories anyways, so its more uniform
to always pass a list all of them.
Change-Id: I46c7860b51d11c26db58045ff3ab922148af021f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The "outline enabled" property is not static: E.g. the user might switch
on/off clangd support, and then we should hide/show our outline,
respectively.
This also eliminates the danger of null pointer accesses.
Amends c0a44be27b.
Fixes: QTCREATORBUG-25963
Change-Id: I508b9700ba1a99204ea8315546db089486b5d122
Reviewed-by: David Schulz <david.schulz@qt.io>
It is accessed from multiple threads at once. Guard with mutex to avoid
crashes.
Amends 64ce2a6f43
Change-Id: I5048e5fcdb27b2492656b302775378829b6da013
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
A hook into the system environment of the FilePath's device.
Change-Id: I274032f9e716f3cd8b2e4af2eca010b9805a4568
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Only used once.
Also allow logging of expansion failures.
Change-Id: I357ed6ed28fe379d482358c46b495bc727f86902
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Current path appeared instead of the committer date.
This is probably due to the changes in handling commands. The command has
%cD%Creset. %cD% is interpreted as current directory, unless escaped.
Change-Id: Id564c338dc1f4d882e4449430000b7dcebdd7288
Reviewed-by: hjk <hjk@qt.io>
Most of it is independent of the docker device as such, this should be
centralized somehow. This here is a first step.
Change-Id: If32063559a4c7c6c3cecf1973e1ef1f634e5f8f4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
QtQuick.2 was moved to QtQuick in Qt6
Task-number: QDS-4661
Change-Id: I514fcb51c2b46dbef5cc9af79672abc3e86ebbbc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Just syntactic sugar to make doing the right thing less painful.
Change-Id: Ia51cda20e5395925215f226b9a379af66fddfd8b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The m_savedData member is set on two occasions: Once directly after
reading the same file that is going to be written, and once directly
after a successful file save. In neither case do we have to write it out
again.
Fixes: QTCREATORBUG-25921
Change-Id: Ie369e280f4189aefb6b2ad291426ee9e6f1ed16d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Otherwise, we could introduce unwanted syntactical constructs, for
instance if the previous character is an asterisk.
Fixes: QTCREATORBUG-25966
Change-Id: Ic0b535861bc1cb4f5f93d06bb11d0f3c7c583893
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It is not used, and not supported in the other build systems.
Change-Id: I38049e145595490058e255b94cdb8dd13c3f6fb2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Even though the file is accessible in the local path, not mapping
back loses its relation do the docker container used for further
decisions like FilePath::needsDevice().
Change-Id: I7c693d604364b9e42bf7310c072be0f33d149626
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There are still some corner cases but this will be done in follow-up
patches. The link information moved to the typenames table so only
indirections are saved in the propertyDeclarations table. Otherwise
the duplication would increase the database size too much.
Task-number: QDS-4551
Change-Id: I4aca85dd2d803b43aa9860183e500ced2d91141f
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
In indentation-only mode, any edit that adds or removes newlines is
wrong by definition.
Change-Id: Ida6e729f4d5e8dcd7893fb2bb9407e596661f942
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
like it was before the re-arrangement.
Amends 3bd490acdb
Fixes: QTCREATORBUG-25948
Change-Id: Ia4bd97c95d2976cd52bfcbd40389f6c7360c8109
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Each call of CppModelManager::updateSourceFiles detaches the current
snapshot.
The extra compilers where set up and triggered individually, and
resulted in individual updateSourceFiles calls with the single result
file of the extra compiler. For Qt Creator this would lead to 200
calls in quick succession after project load, potentially leading to a
freeze of multiple seconds.
Instead of updating the result files of the extra compilers individually
after project load, integrate the update into the regular project source
file update. So we end up with only a single call of updateSourceFiles.
For this the project updater needs to trigger the extra compilers, and
wait for all to finish as well as the regular project part update,
before
triggering the parser.
Task-number: QTCREATORBUG-25783
Change-Id: I34f6df0fc0f96bcb42ee65019bee39cf49176c1f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Note that we lose the highlighting for virtual function calls. We need
to amend clangd to add the respective information to its semantic tokens
message.
Also, Qt properties are no longer highlighted as class members. We'll
investigate how to best restore this feature.
Change-Id: I403712aada3d7a8e1c7b7c1277f43f7f64f8450b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>