Commit Graph

68765 Commits

Author SHA1 Message Date
Eike Ziller
5344bec59b Add support for plugin paths set by the installer
This is important on macOS, where we cannot install optional plugins
into the app bundle, because that would break code signing.
Instead the install settings in the signed bundle sets a custom plugin
path outside the bundle, and the installer puts optional plugins there.

Task-number: QTCREATORBUG-26705
Change-Id: I8b36752471d16dfc5828e87e20254f39ab985ca2
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-01-03 15:59:40 +00:00
Artem Sokolovskii
d2f1ac542f modelinglib: Remove foreach usage part 2
Change-Id: Ia898cc019a0534a97d20a3dc48e69c6617773766
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-01-03 14:45:31 +00:00
hjk
e1ae96647d Debugger: Save a few cycles in watch data
Change-Id: I1fada2767bedb5c9a90bd8f4f2db6b2c881f111e
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-01-03 14:28:43 +00:00
hjk
b00442e946 Utils: Make FilePath doc sources a bit more unitorm
Change-Id: I1250cc4bdb354827836b2193bcb64af6fd7f596f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-03 14:28:07 +00:00
Eike Ziller
b41abc94bb Fix highlighting of debugger disassembly view
The disassembly view uses a custom MIME type that derives from x-asm,
but that didn't trigger highlighting.

Make the generic highlighter look at the parent MIME types if no
highlighting was found for the MIME type itself.

Generalize this "go breadth-first through the parents" that was already
used for resolving editor factories.

Change-Id: Ia054058a8c06b9d8849384e79ee3b83fbc12279c
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-01-03 13:57:00 +00:00
Artem Sokolovskii
15fa9e7096 FileFinder: FilePathify
Change-Id: I7a4bcb05f85058ddcaf0c69c01b0587116410d95
Reviewed-by: hjk <hjk@qt.io>
2023-01-03 13:39:49 +00:00
hjk
09df8dfe44 Utils: Add a bit more and fix some FilePath explanation
Change-Id: I3655fee683ec2e9a48cc9141597398c6ea4d6110
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-01-03 13:09:31 +00:00
Eike Ziller
e38d1f06bd Fix that Utils::sorted could modify input container
Utils::sorted had overloads for "const Container &", "Container &&", and
"const Container &&", but for _templated_ types "Container &&" does
_not_ mean "rvalue reference", it means "rvalue or lvalue reference"
(e.g. "universal" reference).

That means that for non-const lvalue references that "Container &&"
overload was used, which modifies the input container. Which is a fine
optimization for rvalue references, but is wrong for lvalue references.

Add another overload explicitly for "Container &" before the
"Container &&" overload, and add some tests.

Also fix the compiler warning that triggered the investigation:

warning: local variable 'container' will be copied despite being
returned by name [-Wreturn-std-move]
note: call 'std::move' explicitly to avoid copying

Amends 13f40f5471

Change-Id: I14461fde5fc51a8bb679fd72b886e13b18c47e7b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-01-03 13:01:36 +00:00
Eike Ziller
5a4092106e Utils: Remove old MIME database implementation
The new one has been in use for long enough now, that we
don't need the old one for regression testing anymore.

Change-Id: I20a4a1dae483b1fee345ea4ec8e31509f6877047
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-01-03 13:00:33 +00:00
hjk
0a3f66c790 Android: Consolidate AvdManagerCommand use
Change-Id: I8b15f6807a6d0d38f668d56e11f75b34a8c3a722
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-01-03 11:09:17 +00:00
hjk
b02d1fd0e9 QmlDesigner: Avoid warning for unused parameter
Amends 0887174727.

Change-Id: I978550293533632950072256750571fd258f7dac
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-01-03 11:09:11 +00:00
Eike Ziller
cead76f378 JSON wizards: Fix "span" with combo boxes
Combo boxes have "suppressName" set, but if they have span set too, we
still need to use addRow instead of addWidget.

Reorder the if conditions. The previous code didn't make much sense,
because it first checked for suppressName, and then for hasSpan, but
inside hasSpan it checked for (!suppressName) again, which could never
be false.

You can see this in action in the File > Qt > JS File wizard.

Change-Id: I976227f80277642823620e41aba605c8570aed44
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-01-03 10:30:03 +00:00
David Schulz
e79a0ab49b Editor: increase text cursor visibility on indentation depth mark
Reduce the alpha of the marker if a cursor is at the same position as
the marker.

Fixes: QTCREATORBUG-28645
Change-Id: I01b1825fd3f393dcc75cc58d64a31f22e50e2648
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2023-01-03 10:21:02 +00:00
David Schulz
f0dba78f48 Editor: fix crashing on updating snippet selections
The final selection is not tracked in m_selections and needs to be
handled explicitly. Also add an assert preventing unconditionally
accessing an out of bounds element of m_selections.

Fixes: QTCREATORBUG-28631
Change-Id: I1898418b1126bdaffccbdf0e483e2c659d191917
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-03 09:58:07 +00:00
hjk
2e52f4d8ef CppEditor: Work around an endless loop
Change-Id: I9fdcead4e3770e9feec4124a0b1b8e7aa1c53b70
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-01-03 09:40:08 +00:00
Artem Sokolovskii
4947c5c657 qmljs: Fix warnings
Change-Id: I4bac76e9d7286fc762af3b097102b3aa975f7247
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-01-02 13:34:52 +00:00
hjk
4ea5a7abec Utils: Avoid one case of passing an empty path to isRelativePath()
The distiction relative/absolute path is not broad enough to
cover all situations like e.g. Windows paths with drive letter
but not starting with backslash, and generally also rarely needed
in user code. The situation doesn't get better with "convenience
defaults", like empty path meaning depending on context.

Mid-term I'd like to ramp down uses in user code, moving corner-case
handling to filepath.cpp behind "higher level" FilePath API.

This here is one step towards this goal.

Change-Id: I070112810a1628ced035e90cc7dc679e2248d688
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-02 10:47:38 +00:00
Eike Ziller
371dcc3f26 Merge remote-tracking branch 'origin/9.0'
Change-Id: I58ff80e0be838ef5f149c091b8f74cda415ed53f
2023-01-02 11:19:06 +01:00
Eike Ziller
b8e195d22b qmlpuppet: Fix build with Qt 5
The API uses QVector, which is a QList in Qt 6, which is why assigning a
QVector to a QList works "fine" there. But with Qt 5 we must use the
correct type.

Also assign to a const variable. Otherwise this actually forces a
detach.

Amends 9321c6ad24

Change-Id: Ied562b96d647435ae48395ae08cc12a5670ac607
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-02 10:02:44 +00:00
Alexey Edelev
803fb4ce77 Replace ANDROID_NATIVE_API_LEVEL with ANDROID_PLATFORM
ANDROID_NATIVE_API_LEVEL is not handled by the android toolchain files
starting the NDK version r23b. We should set ANDROID_PLATFORM instead,
to specify the NDK platform version, that exists in all NDK versions
supported by Qt. Also the ANDROID_PLATFORM variable expects the
'android-xx' format as a value, so avoid cutting the 'android-' prefix
when adding the value to the CMake configure string.

Fixes: QTCREATORBUG-28624
Change-Id: Idd4ba472e46982162e5ad74e9fc6868e50e3b434
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-12-23 17:10:13 +00:00
Eike Ziller
cd496c4fa7 CMake build: Add missing headers to be exported
These headers are used by other exported headers, so they need to
be part of the development package for building "external" plugins.

Change-Id: I6bec0b16aaf0076b8ccf4ce275b603e0f7b4eba3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-12-22 15:35:15 +00:00
Artem Sokolovskii
1b1609ce27 modelinglib: Remove foreach usage part 1
Change-Id: Ib185d0dbe7df2e5452502278d9a2c3151cf9812e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-12-22 14:24:43 +00:00
Tim Jenssen
f2956ece11 Merge remote-tracking branch 'origin/qds/dev'
Conflicts: src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
  src/plugins/updateinfo/updateinfoplugin.cpp
  src/tools/qml2puppet/CMakeLists.txt
  src/tools/qml2puppet/qml2puppet/instances/qt5rendernodeinstanceserver.cpp

Change-Id: I6b65ce2d603453fcebc2291574d55db80853f247
2022-12-22 14:08:46 +01:00
hjk
be89f99ecc CPlusPlus: Work around Qt SiC breakage
Qt Base b6cbd9c43afc7e005c1f78e1d0f700524930ed71 introduced

    #if !defined(QT_STRICT_QLIST_ITERATORS) && (QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)) && !defined(Q_OS_WIN)
    #define QT_STRICT_QLIST_ITERATORS
    #endif

removing iterator-to-pointer conversion starting with Qt 6.6 as dev,
i.e. now.

Change-Id: I75f25623917d0e666fb267db70d9701a13b270f2
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-22 07:50:49 +00:00
hjk
2aff1282c4 Debugger: Leave everything in qobject.cpp when skipping known frames
This avoids stepping into a large chunk of not-so-interesting parts
in atomics etc by hopefully not skipping too much.

Change-Id: I29fb2705275899332dfab0f6991670ac9bb2cc57
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-22 07:43:36 +00:00
hjk
ef3aad1c9b Debugger: Save a few temporary string constructions
... when skipping known frames.

Change-Id: Iade1d9cb539eef7708c5715d99147be31be1c724
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-22 07:43:23 +00:00
Tim Jenssen
d5cf9ffd37 qmlpuppet: fix standalone build
Change-Id: I0a7da757e78a68f65163d4e383323d34a5b70670
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-21 18:45:40 +00:00
Artem Sokolovskii
9321c6ad24 qml2puppet: Remove foreach usage
Change-Id: I00af71e640a46962f987f7eb7d360f04d68f23ea
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-12-21 13:43:46 +00:00
Sami Shalayel
5d6765c08e changeLicense.py: support new license style
Add support for the new licenses (that are commented out linewise via
//) to changeLicense.py that until know just knew about the old-style
licenses commented as /*block*/.

Change-Id: If29c4a49e210cf7516ae93fb1b7ef7e9f5a51f34
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-12-21 13:18:32 +00:00
Artem Sokolovskii
f0556b08b8 qmljs: Remove foreach usage
Task-number: QTCREATORBUG-27464
Change-Id: Ifdb8cf514dfe328e0a64bde1beff3e63a4b7fbc3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-21 12:53:41 +00:00
Tim Jenssen
f396b0b742 qmlpuppet: add .tag reading for GIT_SHA
Change-Id: I29f0663b9bbc6f68c7f802fa8fef4b12e091ee61
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-12-21 11:01:00 +00:00
Tim Jenssen
01b71195f0 qmlpuppet: fix include if crashpad is enabled
#include <windows.h> should come after #define NOMINMAX
not sure why it was necessary as an explicit include
it should come by the crashpad includes

Change-Id: I53ccdd893e9d8e5d5fadd46f5a5f5c0c21af0cc5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-12-21 11:00:55 +00:00
Knud Dollereder
a049dbf8d3 QmlDesigner: Fix Navigation event filter for some Linuxe
Change-Id: I4d629c5ec6866e497949455ef3cd59a216ffdbb6
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-12-21 09:16:31 +00:00
Tim Jenssen
e16af85f32 qmlpuppet: fix Qt5 builds
Change-Id: Ie3fedef867bf2327b145b4ef4e5b282858076b23
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-21 06:44:50 +00:00
Tim Jenssen
74da3abb32 qmlpuppet: fix crashpad build
Change-Id: I02f5abce80d4ccc1ea711e1dcb01946d53f8b5a7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-21 06:44:40 +00:00
Alessandro Portale
50ebf1f824 Utils: Show macroExpander icon only on non-readOnly StringAspects
Change-Id: Ib9c22c8e7b73c166452b4b18341fc81673c55535
Reviewed-by: hjk <hjk@qt.io>
2022-12-20 19:32:51 +00:00
Alessandro Portale
9eb3cb1acc Android: Remove Service management from AndroidManifestEditorWidget
Any manipulation of an AndroidManifest.xml document in the
AndroidManifestEditor would heavily modify present <service/> entries.
Even if the Service widget is not used. Furthermore, the service
handling code would filter out any present white space.

A visual XML editor must keep any present information (ideally also
formatting and white spaces) intact and should only apply the minimal
amount of change when saving. This can be challenging if the loaded
AndroidManifest.xml has before been hand-edited. Implementing and
maintaining a visual XML editor requires much effort. It has to be
considered if such effort is reasonable for a specialist feature like
creating Android services, especially since the "Manifest elements
reference" is very well documented on developer.android.com and the Qt-
specific parts in the Qt docs.

This change removes the service management from the
AndroidManifestEditorWidget. A good, text-based XML editor that
considers the AndroidManifest schema is a valid substitute.

Fixes: QTCREATORBUG-28024
Change-Id: I73ce5b5c548c5bee6fb7fe2d50d83e0ca3937208
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-12-20 19:32:20 +00:00
Artem Sokolovskii
3f340616d5 plugins: Remove foreach usage
Change-Id: Idf60caed3b5f4ec4c6e990a9e3188487bcc824f8
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-12-20 17:27:01 +00:00
Henning Gruendl
d77cdc88d7 qmlpuppet: fix build
amends last commit

Change-Id: I057912c49526d386707b893227f16410297d7b18
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-20 15:59:57 +00:00
Tim Jenssen
1262c68f2e qmlpuppet: fix standalone build
app_version.h is not generated and found if a build
just for the qml2puppet target is requested

Change-Id: I9ef164d8e0c698d43eae74d2522029f9eff0f397
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-12-20 14:12:24 +00:00
hjk
2b97f69796 Debugger: Merge GDB and GDB Extended option pages
Change-Id: I0d4c041cec9ea01e1310f08a4ee87ed8080976bd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-20 13:26:09 +00:00
Amr Essam
c4cc576825 QmlDesigner: Create default effects folder in assets library
Task-number: QDS-8166
Change-Id: I12bf86ec5983642295a20d254f06d0a4ab6ccdb1
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-12-20 13:06:57 +00:00
Cristian Adam
44d2f15108 CMakePM: Update configuration failure message
The error message was not translated. Also expanded the failure message.

Change-Id: I79307d942d047311314f70d629ff443ee0a7b2a5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-20 12:00:22 +00:00
hjk
0bc9d493aa Debugger: Move backend-specific option pages to the end
<generic> <gdb> <cdb> <generic>  was an odd order.

Change-Id: Ic3a998e4753118c26250f9e4c764495c70b870f7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-20 11:58:22 +00:00
Marcus Tillmanns
d63b2ca51f ClangFormat: Parse clang-format file when needed
Previously the .clang-format was parsed even if there is an override
active.

Fixed .clang-format to follow style-guide more closely.

Change-Id: I39c5e5793cfe9e8a996e084e4ba169231a9bcebb
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-12-20 11:39:33 +00:00
Mahmoud Badri
e4af787ff6 QmlDesigner: Add image info to content library texture tooltip
Fixes: QDS-8489
Change-Id: I1afbf91ad12839cc93a46f0a608ab3bda135b76b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-12-20 11:29:30 +00:00
The Qt Project
0cd9df5030 Merge "Merge remote-tracking branch 'origin/9.0'" 2022-12-20 10:59:15 +00:00
hjk
33eb5ff391 CMake: Move CMakeInstallStep definition to .cpp
It doesn't have to be a Q_OBJECT. Smaller interface. Also de-noise a bit.

Change-Id: I70c056e76646e9de166ded46f6fd4f448a804112
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-12-20 10:23:23 +00:00
Eike Ziller
3f4c3a3db4 Merge remote-tracking branch 'origin/9.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/texteditor/texteditor.cpp

Change-Id: I9c8f1331be3f5442f1fd28aeb0a9bc07128629d1
2022-12-20 11:05:01 +01:00
hjk
c83e66d45f Debugger: Update "known functions" to skip
Fixes: QTCREATORBUG-26821
Change-Id: I12e895034bcf3896caef75f38364cbc9a4484ae5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-20 08:51:14 +00:00