The behavior of QStringView::mid is slightly different between Qt 5 and
Qt 6, so use Utils::midView which was created exactly to cover that.
Change-Id: Ia084e93c36fb152ac725f1b8eaa38a07dfb939e1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reuse the code that selects the innermost item in the outline combobox
also in the widget so the behavior is consistent.
(cherry picked from commit b97204ebb6)
Change-Id: Ie7c32ba4e6c5cbdd608da207e515c737e3bd91e6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
And pass a device path to command instead. The QtcProcess
should automatically select the device's process implementation
when the process is running.
Change-Id: Id3fed8656999af58ce1a5ba0632f94c3dc76ab04
Reviewed-by: hjk <hjk@qt.io>
This can be tested in run settings for the app on remote
device after expanding environment details and pressing the
"Fetch Device Environment" button.
Change-Id: Ic488eaae5a40443380ddfd8b01af3e92f2557e5d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Don't use SshDeviceProcess anymore for opening linux terminal.
Fix running the empty command so that it opens ssh shell.
Don't leak terminal processes on shutdown.
One issue is that terminals are closed when closing settings,
as settings dialog operate on a copy of device, and in case
of no modifications applied the copy is being deleted.
The current workaround is to press the "Apply" button
before closing the settings dialog. This issue is to be
addressed separately.
Change-Id: I3c48b035daf1d099a1e8fa0762a6d6d0eca9592c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* clean up Design to a more minimal style
* remove some unused components
Change-Id: I37af39a1cae6b6f14f769383ac73c00570729f4f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This adds the build system feature that allows Qt Creator's libraries
and plugins to be compiled statically.
Fixes some symbol clashes when all plugins are linked into the same
executable.
Support for actually loading static plugins will be added in a separate
commit.
The feature is controlled by QTC_STATIC_BUILD which by default is OFF.
Change-Id: I1fab7953c43e42dc75619e35660029ee067106df
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
When a QProcess is being started in a thread that doesn't have
event dispatcher installed, e.g. in a thread started with
std::async(), the process signals are emitted only from inside
QProcess::waitFor...() functions, but not emitted spontaneously.
This may cause issues when adding the running process into the
ProcessReaper, as the implementation of the latter relies on
signal emission and doesn't use blocking API of QProcess.
Currently there is one case like this: ProcessCreator::createProcess()
of clangsupport library.
Change-Id: I823a139b356f62fee9e0e5d6fc8326301c36b449
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
To display the relative cost in the editor a custom text mark icon was
painted with a custom width factor for qml profiler marks. Move this
textual information into a line annotation and be a bit more verbose
what kind of information was collected in that line.
Change-Id: I863c2afa52f2acdf19ffcab3dfc95af566ac0efe
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
- Prevent insertion of invalid animation ranges that may cause DS
hanging
- Properly update the toolbar when switching to a different qml file
- Show an informative text instead of the empty curve editor when
the current file does not contain a timeline
- Move the toolbar into its own class
- Add an implentation to the "Set Default" button
Fixes: QDS-6543
Fixes: QDS-6542
Fixes: QDS-6545
Fixes: QDS-6544
Change-Id: Id6bc1457627ea23a670e74ea335fbb475711b9a6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
... and "switch between declaration/definition".
It's either clangd or built-in code model now.
Use the opportunity to dissolve the pointless FollowSymbolInterface
class hierarchy, which introduced a confusing parallel inheritance
chain.
Change-Id: I792ad55656c5dd9f10c6b4db7c5c36cf7be45125
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
ProjectExplorerPlugin::recentProjects() filters out non-existent files.
Because files could at any time be removed/renamed, we cannot presume a
certain, constant length of the list when calling recentProjects() a
second time.
Fixes: QTCREATORBUG-27399
Change-Id: I3f09830896b308e251881c855abb552b6022695f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Centralize some boiler plate and warn about best-guessed cases.
Keep the QByteArray based access as writeRaw()
Fixes: QTCREATORBUG-27445
Change-Id: I948d80fba78b36cf85cc73664175ab05eb7707d4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
ShellCommand doesn't support retrieval of individual sub-jobs.
Simply use chained QtcProcesses and add a progress item directly.
This gets rid of fragile hacks that were needed to combine the output of
the two calls into a valid XML document.
Change-Id: I426c74f5fd2c522850daf9c077bfd09ce3f88bb1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Instead of connecting to errorOccurred() and finished() signals.
Change-Id: I82d9a2fbd583a6b1ffce2083369f683c9a208c18
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
If the language server registers token types for unsupported tokens do
not use the default text style for those tokens since it might overwrite
correct syntax highlighting.
Thanks to Alex Drozdov for providing a patch
Fixes: QTCREATORBUG-26193
Change-Id: I5d70763bc1e9434ffc6241d94f50f3bb3852e62c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Instead of connecting to errorOccurred() and finished() signals.
Change-Id: I357b95db5889c09d036abdb76ca9f014be7a9cf5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
The data is now pulled out of the runconfig directly instead of relying
on the indirection using the runconfig pointer inside RunControl.
This is only barely better, but gets rid of one direct user of
RunControl::runConfiguration().
Change-Id: If93576ba25ea9f3ddbeae2535217f5c2f361eaf6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>