There's no reason to force users to the terminal if they want to create
their project in a new subdirectory.
Fixes: QTCREATORBUG-28346
Change-Id: Id92b2194c018274aac6f7f29c7304efa8c1d2d9e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The installation process is being run in remote shell, so
closing the process with close() should finish the remote
shell together with all running children processes.
There is not need for separate "tar" killer.
Change-Id: Ib3b36ca955fe033cea8abdffbee3f14a5e007905
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The Storage item makes it possible to define the whole
subtree as a self-contained, full-functional recipe, without a need
for passing (together with recipe) a one-use only (disposable)
pointer to storage object.
That's the last closing element of making the idea of pure,
value-based recipe real. It makes the TaskTree machinery ultimately
powerful.
Change-Id: Icd81bdd3e94251e8b241b2b550957d566fa4ab75
Reviewed-by: hjk <hjk@qt.io>
TreeStorage enables delayed creation of instances of
StorageStruct. It encapsutates recipe on how create / delete
instance of StorageStruct. It doesn't create any instance
of StorageStruct when TreeStorage is created. These instances
will be created later, by TaskTree.
It will enable getting StorageStruct instance inside task / group
handlers (passed by lambda argument).
Change-Id: Id707353f196aa5ba3e7876d6c601e04ca08d6e63
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
It looks like the same instance of TarPackageDeployService
may be reused for subsequent application run.
Close the process instead.
Change-Id: I3430404c33c14b1b4f24b728b44b3e54a57e3c9b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
We used to elide the right part of the name, and needed to take care of
not eliding the * away in that case. Now we elide in the middle, and in
that case the * may not be added to the elided text again.
Change-Id: I646b51d315e141a65df67841e163826e7136c118
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... as shortcut for the fromParts({}, {}, x) case.
Less noise on the user side, and saves a few cycles.
Change-Id: Ie5b2a76c7261a049a3e600f29c4edaff37ab3828
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
There are Linux distributions that (at least for building packages)
separate the development packages for the various Qt modules.
So, to find the include <QtQml/qqml.h> in timelinemodel.h when
building the test, a dependency on QtQml is required.
Pass the dependency down to everyone depending on the tracing lib.
Fixes: QTCREATORBUG-28434
Change-Id: I58a534a9c25f1f6ecfc10a9ce8292b5983cdcbae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
... by FilePath::isSameExecutable().
The only non-mechanical case is the use inside QmakeBuildSystem::testToolChain
using a build environment instead of the FilePath's device environment.
This make a difference in theory due to the use of PATHEXT in the actual
check, but I believe the case that someone creates a 'qmake.foo' and
a 'qmake.bar', adds .foo and .bar to PATHEXT and then complains that
there's a warning missing about not-matching mkspecs has zero
likelihood in reality (and will break other places in Creator anyway).
Change-Id: Id6a8d1e4dc2eb74ca81610ccb1c4ee94c6f47e12
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
If the current project is Git managed, but the user opens a header from an
unmanaged directory, don't try to run blame.
Change-Id: I563f7a687b2ea03f4c03bf97c8f5c27c1f8411ec
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The starts with CppDocument::filePath(), plus a bit of the fallout
This is one patch of potentially many. It is hard to draw the
line where to stop this kind of chunk, this here converts a few
additional functions for which including it in the patch looked
like less churn than without.
Converting is mostly fromString/toString, with a few exceptions
for "already seem" like caches, that use cheaper "path()" to
avoid likely performance regressions (on Windows FilePath
comparison is currently case-insenstive, and more expensive).
There should be no difference for local operation with this patch.
Change-Id: I7b35f98a0a6f0bfed4ea0f8f987faf586f7a8f2b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Remove undefined and unused handleStdErr() and
handleProcessFinished() methods.
Remove cleanup() and finishDeployment() methods
and move the implementation into stopDeployment().
Change-Id: I983e4513c4bcba45638eb054b389783ec4f73367
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Instead of creating the actual command in two places
this change moves everything into one function.
Instead of sending the environment and working directory
into the shell as arguments, we send it via the correct
docker exec cli arguments.
Instead of creating QStringLists and adding them
to a CommandLine we directly add them to the
CommandLine instead.
This also fixes an issue when the working directory
contains spaces.
Fixes: QTCREATORBUG-28476
Change-Id: I4f5b39a2dd4c86d20717dbb53003f1eb60f6c089
Reviewed-by: hjk <hjk@qt.io>
addCommandLineAsSingleArg allows to reliably create commandlines
like "bash -c 'echo ...'"
addCommandLineWithAnd combines two command lines
by adding '&&' in between
Change-Id: Ic5af34c90fd5271dced40ba1341a3df019ededb8
Reviewed-by: hjk <hjk@qt.io>
It's being done implicitly by QSharedPointer d'tor.
Change-Id: I058dd3e1c06eb92fad4ea8b5d43ee4d1da9182c4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... when destructing a qmljseditor. Just let the updater continue and
delete it once it finishes.
Fixes: QTCREATORBUG-28206
Change-Id: Icabe10f17b7bf326bb15e5ee622504c477d83acf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Call stopDeployment() also when process didn't finish with
FinishedWithSuccess.
Change-Id: Ibeafecb9e06a02650de35d635c1acfaa5af22870
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Don't call QtcProcess::close() from QdbStopApplicationService
destructor - this is done implicitly by QtcProcess destructor.
Remove cleanup() method, since it's used only by stopDeployment().
Change-Id: I6e82fe83f31f7dd8eb4fd69174c1aebc636de53d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
It was used only by handleDeploymentDone().
Change-Id: Ie294b4c2adf28a5b086941106d1c360e2f8992df
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Use FilePath::refersToExecutableFile() instead.
This makes it better re-usable for remote setup.
Change-Id: Ic69739b332f036ed791adbbc8092a139b4c83c2d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
A file that is in the repository directory, but not managed by Git should
not attempt to run instant blame on every cursor change.
Change-Id: Ia7daa2ae9980cea4363e010a98fb1e2f2a3ec05f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Also simplifies the code.
Change-Id: I5da0aeb86ba5a28c9016cde11aab9dcee922d908
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The workaround that fixed the drawing of arrows after a change between
6.4.0 and 6.4.1 broke the drawing of arrows with Qt 6.4.0.
This change add another enforced detachment of the palette (leading to a
modified cache key) that works with Qt 6.4.0. It still works with 6.4.1.
Amends: 9d32093421
Change-Id: I8917c99488cec4fb17ed148bb3b0f95d4ed7127c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
... until launch time. More central, less duplicated activity.
Change-Id: I7d0e380c43e0f2cdbc1b50ac10f6739c65adb9bf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Part of an attempt to disentangle streamline environment creation/setup.
Searching is expensive and needs currently the proper environment.
Change-Id: I95d93abf6c0cedeb8ba0b7a447345cd033ac2f25
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Using the reported range to create a usable placeholder if the
cursor ('|') is placed on the end of an identifier like in:
int global|;
Change-Id: I2ebacf3b9b54cff8f8887526479792374f67c881
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>