A proper solution would be a proper step handling the copy from
the build container to the device. Instead, rely on the (unchecked)
mounting of build directory from the host file system.
Task-number: QTCREATORBUG-27325
Change-Id: I1a364460c08f205dbc341fa0dc941cf1e3c950ac
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This replaces the ProcessInterface::waitFor...() methods.
It's not obligatory to provide this interface when
implementing ProcessInterface subclass. In this case
generic blocking implementation will be used.
The generic implementation usually isn't as efficient as
the custom one, however, for some sophisticated implementations
of process interface, like e.g. SshProcessInterface, providing
custom implementation is really difficult and error prone.
That's why we try to keep a balance: we provide two custom
implementations for QProcessImpl and for ProcessLauncherImpl,
as they are relatively easy to implement, and rely on
generic implementation for others.
Change-Id: Ifc8bd354479ec67b2e8f74f1510f8de8883e9b94
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Save settings before starting a test, otherwise the
test for newly created device fails since the new
device was added only for the clone of device manager.
Change-Id: Ia36d2ef68740907d7fce51e31c352328de83421c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Since there is no easy way to make device temporary added
into cloned device manager, we construct a full ssh command
manually inside PublicKeyDeploymentDialog.
Fixes: QTCREATORBUG-27706
Change-Id: I28e368a5bff0d89094115e9eaee1395b388359fa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Since we removed the libclang based backend both implementations of
ModelManagerSupport::functionHintAssistProvider returned a nullptr.
Change-Id: I113c5a08cf604eb1bb2a64a851f022ecd5c908d6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... from Project to BuildSystem.
More direct and less use of Target::activeBuildConfiguration().
Change-Id: I148381d23be0f9ab0750ed1440e1b2b3e25aded0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
After parsing the CMake response, we make the configuration variables
table reflect the actual configuration in the build directory. It is one
of our "promises" that we do not break an existing build configuration,
to avoid unexpected rebuilds.
This was not quite true for the "QML debugging and profiling" setting.
When that setting and the actual build directory disagreed, the user
would get a dialog asking for running CMake with additional parameters,
and when running CMake via the button in projects mode or the menu, it
would just change these configuration parameters, potentially leading to
an unexpected complete rebuild of the application.
So, after parsing check if the actual CMake configuration matches our
QML debugging setting, and if not, change the setting to "Leave at
Default", to ensure that we don't mess with the build.
Fix the "Run CMake" button state (in the "Current Configuration") when
changing the QML debugging option, which should become bold, if the
CMake parameters change.
Amends 2577ce8ba1 and fixes the drawback
mentioned there, i.e. setting the build directory of a "Debug" build
configuration to an existing build directory with QML debugging
disabled, will now simply set the QML debugging option to "Leave at
Default" instead of forcing it to "Enabled".
Change-Id: Ie6d4875d59319687d94e44e459ca76038e5813c0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
When configuring a CMake project on the command line, CMake will
(correctly) find and use the compiler from the current developer
directory, usually somewhere in
/Applications/Xcode.app/Contents/Developer
But Qt Creator auto-detects and sets up the compiler /usr/bin/clang(++)
for desktop kits. This leads to a compiler mismatch between kits and the
imported build, and to new kits registered in Qt Creator for the import.
Since /usr/bin/clang(++) is just a thin wrapper that resolves to the
compiler in the current developer directory, resolve that in Qt Creator
with "xcrun -f <command>" too (caching the result), and include that
when comparing toolchains for importing builds.
Fixes: QTCREATORBUG-27591
Change-Id: I301e2a4e267450b488b49d0c32d4ce89001bb5ec
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
- Move look-up to CplusPlus::FindUsages, where we are guaranteed that
we actually have the document source.
- Use the same straightforward algorithm as with clangd.
- Undo the changes to CppDocument::functionAt(), which broke
the autotest.
Amends 6f7e7980d2.
Change-Id: I008d05ba41a3b63b71e3131d7021e0d4e7d0641f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We don't have a PluginManager instance when running the autotests.
Change-Id: Ib36ea2bb58e500a2ad4b601cedfb8d426fda7e4e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Set values did not show up inside the ui. Likely a redo of
the options page would be more appropriate, but for now the
quick fix should be good as well.
Change-Id: Id782ba48ea4dee08b2c6720cdf9e78350f1e9a47
Reviewed-by: David Schulz <david.schulz@qt.io>
Do not return an empty file path if we cannot find a python venv for a
file path, but also consider the configured interpreters.
Change-Id: I5a7f06e394fb925f9a00143fc5f0797e8754534b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Allow to bypass certificate verifications.
Currently the bypassing is not stored into the settings,
so this is not permanent.
Change-Id: Ieb564464a28cf2d4973c6b1baa696d6c22b07177
Reviewed-by: David Schulz <david.schulz@qt.io>
That was part of the initial Proof of Concept and is not needed anymore,
the normal build steps can nowadays be remote.
Change-Id: Ic69ff89ebdcf8e6aef73d71954a48501c68c60ff
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Use smart pointer for member of McuPackage.
Change-Id: I2474fc791b91c489be77aee3aab86401aaef76e8
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
To something large, but limit it. Having many editors open for the same
document can be a strain on slower machines.
Fixes: QTCREATORBUG-27568
Change-Id: I7074fc2c8eae1f4ccaa14a9a48b01afede454b0a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
On some systems launcing multiple simultaneous import processes causes
imports to fail. Fixed by only launching single process at a time
and queuing the rest.
Fixes: QDS-7107
Change-Id: I330c5920dcbd74d3b4f2e7f40899795a4fbaf3ac
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Smooth rendering turns on MSAA and doubles the resolution for
rendered items. With this option enabled everything stays smooth when
zooming in. Around factor 8-10 pixels become clearly visible again, but
it still looks relatively smooth.
I added both MSAA and increased the resolution to one option, for simplicity.
The smooth mode takes 4 times the shared memory, which should not
be an issue in most cases.
For now, the option is not the default.
Task-number: QDS-7129
Task-number: QDS-7128
Change-Id: I8a778650bb40f8ba796960db9bc966e8a1efff4e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Use the same name for the test framework or tool across
Qt Creator.
Change-Id: I3116644ab03cc46c2e9d7e8aa3b8af8a5386dba4
Reviewed-by: David Schulz <david.schulz@qt.io>
Fixes the following printout on Creator shutdown when
LinuxDeviceProcessList was used:
[launcher] "qtc.utils.launcher: \"Shutting down while process
/usr/bin/ssh is running\"\n"
SOFT ASSERT: "m_handles.isEmpty()" in file
/home/jarek/dev/creator-8/src/libs/utils/launchersocket.cpp, line 533
Destroying process launcher while 1 processes are still alive.
The following processes are still alive:
"/usr/bin/ssh" QList("-M", "-N", "-o", "ControlPersist=no", "-o",
"PermitLocalCommand=yes", "-o", "LocalCommand=echo", "-o",
"StrictHostKeyChecking=no", "-o", "Port=22", "-o", "User=jarek",
"-o", "IdentitiesOnly=yes", "-i", "/home/jarek/my_test_key/test_key",
"-o", "BatchMode=yes", "-o", "ConnectTimeout=10", "-o",
"ControlPath=/tmp/QtCreator-EACYSH/cs", "127.0.0.1") in thread 0x1d62b98
Change-Id: Ib64de5d4651b78fb313d7affa88f3f796953382e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The message is shown e.g. when trying to run an app on remote
device when ssh service is not running.
Change-Id: I2db06cf8e999d55e7c822c14168185d07e0c3286
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
We should only make the license check once.
An evaluationLicense is handled as enterprise license.
Change-Id: Ib4b53795a7d735c10b5238f1e7b76346a9bcc8e1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
On (debian based) linux the "command -v base64" did fail to find
the base64 exectuable. Instead we now use "which".
Change-Id: I9b57527d93952b08bcb9abc7484a7e6891aa664c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Implement drag and drop for UrlChooser and FontComboBox
* Change the style of controls accepting drag payload and drag hovering.
Utilize states for those styles.
* Fix aspect ratio of drag pixmap
* Fix issue that causes drag to continue after pressing the escape key
Change-Id: I5cf67175abe936e60e8af00fa8c2f7a2dec355b3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>