Moved DockerDeviceWidget and KitDetector into their own files
Change-Id: I16d52a4f27f611b6278e2144c4718bd370f99b63
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
When no document is loaded, don't prepend a windowTitleAddition to the
IDE window title.
Fixes: QTCREATORBUG-27328
Change-Id: I283debc2588c6552eaeb9ea23d7df0d07580f9af
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Instead of connecting to errorOccurred() and finished() signals.
Change-Id: I3c90e6d6166f0abcaadc5140439208058fbc75cd
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Instead of connecting to errorOccurred() and finished() signals.
Change-Id: I2bc4b8359652549949c486ad6bce002a5db30688
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
In the case of the bug report, there is no previously selected index,
and no valid Qt version, so setting the index to the highest Qt version
doesn't result in anything. Make sure to select something in the
dropdown, if we have any item there at all, even if our heuristics don't
come up with an optimal selection.
Fixes: QTCREATORBUG-26791
Change-Id: I2327594f0fd36e312aa71d1990e8ccab4a488367
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
LanguageClientManager::deleteClient() may be called directly
from Client::finished() handler, from BaseClientInterface::finished()
handler, from StdIOClientInterface::onProcessFinished() handler
or from QtcProcess::finished() handler. Don't delete
directly any of this objects - delete later instead.
Since now we have delayed the deletion of clients, we can't
send directly the shutdownFinished() signal,
as we have not really finished the shutdown yet.
Since all the calls to clients' deleteLater() were
scheduled before emitting shutdownFinished(),
we send the signal using queued connection, which should
guarantee that all clients' destructor were already executed
before calling asynchronousShutdownFinished().
Task-number: QTCREATORBUG-27316
Change-Id: I4f2c8a756ca86c36cc6324af14b99a9fd4513cd3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
AbstractProcessStep::slotProcessFinished() slot is connected
to m_process finished() signal. We call there
AbstractProcessStep::Private::cleanUp(), and that calls
m_process.reset(), so it invokes m_process d'tor directly.
SshRemoteProcessRunner::handleProcessFinished() slot is
connected to d->m_process finished() signal. We call there
SshRemoteProcessRunner::setState(), and that calls
d->m_process.reset(), so it invokes m_process d'tor directly.
Delete later m_process instead in both cases.
Change-Id: I4a0f2a631b676b57e8bcc3a7878620bc76dc74de
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Guard that we don't delete the QtcProcess directly from
inside its handlers.
This helps in detecting wrong usage of QtcProcess.
Change-Id: Ia5b154b3e1f827d579910ebe81ae230fc797c377
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... for member functions with exception specification and/or reference
qualifiers.
The FunctionDeclaratorAST::cv_qualifier_list member can contain both the
proper qualifiers "const" and "volatile" as well as the pseudo-qualifiers
"override" and "final". The problem is that the former appear before
exception specification and reference qualifiers, whereas the latter come
afterwards. Therefore, when calculating the declarator's first and last
tokens, we can't just mechanically check the different declarator members
in order. Instead, we need to compare the token values to see which
comes first.
Task-number: QTCREATORBUG-27132
Change-Id: I924f9afe49453fa51b4a2fe010d1cc00c9defad1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Moved all sdktool code into a static library, allowing us to link against the actual functionality in unittests
* Convert all tests to proper unittests
Change-Id: I5c93be0faecbd8b68e0923655483c870a2f408b5
Reviewed-by: hjk <hjk@qt.io>
So far we only looked at a target and added all paths of actually linked
libraries to the ((DY)LD_LIBRARY_)PATH, if the "Add build library search
path" option is on (the default).
That often is fine, but
- if the library to link to is only given as a library name, not a path
and not a CMake target, then CMake file-api doesn't give us a path to
the library either
- on Windows, where the .lib is needed for compiletime linking, but the
.dll is needed for runtime linking this only helps if the .dll was in
the same directory as the .lib
We already have a hack on Windows, if the directory ends in /lib, that
we also add /lib/../bin, but that again only helps for that specific
layout.
Instead actually add the "build library search path", by adding the
directories from target_link_directories, even if no libraries are
linked from there. This fixes the "linked only by name" issue, and
allows users to add a build library search path to the .dll too, and
have that used by Qt Creator for running the application.
Fixes: QTCREATORBUG-27201
Change-Id: I7b9210b791b4dae3a6d1747ff36e4b82235db2f9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
The margins in the Gerrit dialog stand out compared to other ui in Qt
Creator, and they occupy space.
Fixes: QTCREATORBUG-27217
Change-Id: I8caf3c793741bd37580633b8829b9f96b24627aa
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The search form width depended on the translation and how wide the
three check boxes below the search field were.
Give the form a minimum width of ~680px, to better accommodate
search terms, paths and file extension lists.
Fixes: QTCREATORBUG-27162
Change-Id: Ic8d2ca3acbead1920df58555b118ab80a34be7b1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Introduce QtcProcess::done() signal. It's similar to
QtcProcess::finished() signal, but also emitted when
process failed to start (so after QProcess::FailedToStart
error occurred).
SshRemoteProcess::finished() signal was already behaving
like this. So, we remove special handling of
FailedToStart error in this class and connect all clients
of SshRemoteProcess to done() signal, instead of finished().
Task-number: QTCREATORBUG-27232
Change-Id: If4240e2172f3f706e812bca669a1d5b24bdc3285
Reviewed-by: hjk <hjk@qt.io>
2.1 is released hence uses legacy creation of packages.
McuSupport refactoring is part of QtMCU 2.2.
Will be finished before qtc 8.
It will be documented before 2.2 and qtcreator 8.
Change-Id: Iab0e85f27186149cb73456983d15b30401d99233
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Most of the code is unit tests for toolchain creation.
Change-Id: I955ba49db38acf6f9e35d366280b710ea0466655
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... to HEAD of the 1.22 branch.
Change-Id: Id46f13a95023780b30137a2501133ee2d4b55e3c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
It's internal method, not meant to be used outside.
It's only used in case of FailedToStart error.
Remove it also from ProcessInterface.
Leave it inside DefaultImpl and its subclasses only.
Remove m_errorString field from ProcessSetupData.
Change-Id: Ie605b95c2ff605ab1259045f1a5b16049207c1d3
Reviewed-by: hjk <hjk@qt.io>
Some of Git's output is formatted in a way that benefits from a
monospace font. Therefore, it would be useful to be able to set such a
font.
This change syncs the font of the Version Control output pane with the
text editor font. This is also the standard with other output panes.
Fixes: QTCREATORBUG-27164
Change-Id: Id579f18aef741d18f7434ecef35081ffc155ef1c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Fix crash while automatically restoring kits during startup.
Change packages container to set to avoid duplicates.
Use RAII for McuSdkRepository.
Change-Id: I4b3f4156f0bc770c8a5ea8a171b1f22f6ffb8f96
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Copy and paste error from DeviceKitAspect. The build device has nothing
todo with the target device, so it doesn't need to be compatible with
the target device type.
Amends ec5e060a07
Fixes: QTCREATORBUG-27242
Change-Id: Iab9ae4c9adc98a177d15de705bc07406419f85e1
Reviewed-by: hjk <hjk@qt.io>
Creating the correct tooltip and managing the shortcut is managed by
the command. We need a context for the shortcuts.
Applying similar fixes to the timeline.
Task-number: QDS-6539
Change-Id: If9a92c64508a6d3ff0754522e311ca0ce422dda1
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Setting this variable causes an instance of LD_LIBRARY_PATH containing
<qtdir>/lib to be added to the environment. In the context of QNX x64,
this tricks the Linux dynamic loader into attempto to the target Qt
libraries (e.g. libQt6Core.so) instead of the host ones when running
host tools such as qmake, as the loader
will find a matching library dependency in LD_LIBRARY_PATH before it can
even reach the ld cache. This will obviously fail.
An instance of LD_LIBRARY_PATH containing the path to the Qt libraries
should not be required anyway - these explicitly passed as linker flags
to the compiler driver. Host tools rely on the builting RPATH of their
binaries.
Task-number: QTCREATORBUG-27287
Change-Id: I0527a7a77c6c76fa0229ea65695cc0d9f7d9811b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
The code was not filtering empty configuration items
that were the result of bad string input like:
-DMY_KEY:PATH/some/path/but/no/equal/sign
Amends a2a8f56b6e
Task-number: QTCREATORBUG-27237
Change-Id: Ic307eceb66dc0e00b073c9aabb04fe70a223cf08
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The ProjectExplorer::Task::Error will result in having
m_kitErrorsForProject in targetsettingspanel.cpp which in
TargetItem::updateSubItems() recreates the build settings page.
By reporting the CMake project loading as Task::Warning the above
case is avoided the project build settings page is not
disappearing anymore.
Change-Id: Ib2523e6ea86fe5ad6e4bbee4e101b47cb350a68d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Replace only internally used functions by direct access.
Change-Id: I3daff0596ef6fb6e1c5b5711928f14d590e4e56c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>