Commit Graph

80147 Commits

Author SHA1 Message Date
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
hjk
f81724f458 Debugger: Make android std dumpers refer to libcpp
Amends af881688e5.

Change-Id: If207dd04e37e5f80f68b374fe66fd3beec330ead
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-12-20 11:19:46 +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
Eike Ziller
68e15e613f Remove unneeded .pro/.pri files
Remove qtcreator(_ide_branding).pri, and all remaining .pro/.pri
files that depend on it.
They have CMake files now.

Change-Id: I87d100b49df7ca95694a755cb581cb5eea26aa9a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-20 10:00:05 +00:00
Eike Ziller
77dfa71f06 Deploying Qt: Clean up .cpp.o(bj) files when deploying Qt
These files are required when building against some static libraries
that Qt ships. Since we don't link against these libraries, we used to
remove them when we install Qt, but starting with Qt 6.5 some of these
files are required by the Qt CMake files, and configuration would fail.

So, we now have to remove them when deploying Qt, instead of already
when installing Qt.

Change-Id: Ie38ab3735b86df0372b946d6a808007b5ec84b88
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-20 09:58:28 +00: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
hjk
7e1fb3aaaa Utils: Use std::variant for environment changes
Change-Id: Ibdac141c5ef2dc2fa4c163e059f746dfb6f9625d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-20 08:25:57 +00:00
Cristian Adam
68eb983b5d Revert "Utils: Remove some fallback code that uses a full remote env"
This reverts commit 192605f01c.

Reason for revert: breaks tst_utils_deviceshell

Change-Id: Iafae2aa8da09c23746dccd170e10ea07ffb71ed3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-12-20 06:33:43 +00:00
Samuel Ghinet
4a5359cb86 QmlDesigner: Extract asset type stuff from the AssetsLibraryModel
This is in preparation for the task that will show metadata of assets.
The functions for checking the asset type have little to nothing to do
with the model. This change will also clean up the code a bit.

Task-number: QDS-8177
Change-Id: Ibab28f5b63228f626f517a59e2442d2718c2fc07
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-12-19 16:39:51 +00:00
hjk
e7b4ccf608 QmlProjectManager: Fix starting .qmlproject on Boot2Qt
The "qmlscene" is called "qml" nowadays. Also give device settings
more priority to cover cases where there is no Qt build setup at all.
For this case, also demote the missing Qt build version from "Error"
to "Warning".

Task-number: QTCREATORBUG-28074
Change-Id: Ic44d2bee1965493925d21317d12d5c1f66ace88b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-12-19 16:23:28 +00:00
Cristian Adam
aa1690ec7b qml2puppet: allow Qt Creator build without QtQuick
Only require the full dependencies for a standalone build of qml2puppet.

Change-Id: I2a158b36fa674db6d655b753afe205f419c0a113
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2022-12-19 15:41:24 +00:00
Amr Essam
fb12660b0a QmlDesigner: Enable integration of the new create effect system
- Remove old New Effect item from new file dialog
- Add license checker for creating effects

Task-number: QDS-8675
Task-number: QDS-8676
Change-Id: I83ed2c4021c9df3896018da19fbff76be92a7431
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-12-19 15:06:53 +00:00
Ali Kianian
0887174727 QmlDesigner: Add "Group/Single selection" to the 3D context menu
- "Toggle Group/Single selection mode" option is added to the
3D Editor's context menu.
- All 3D actions are pushed into a map and are accessible by
View3DActionType as the key.

Task-number: QDS-8200
Change-Id: Ia5071ef8901b926ee4e4889fd840fc49c859bccd
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-12-19 14:34:40 +00:00
Miikka Heikkinen
970af9e64d QmlDesigner: Fix state preview rendering with multiple View3Ds
Multiple View3Ds with shared resources such as materials don't always
properly dirty themselves when a shared resource changes. Work around
this issue by rendering the base state twice if there are multiple
View3Ds.

Fixes: QDS-8618
Change-Id: I3840a082ff8e55557afe5a5f139382d82cd6b184
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-12-19 14:13:21 +00:00
hjk
d53842d512 QmlProjectManager: Re-organize fallbacks for runtime search
This was getting messy.

Change-Id: Idce960b393fa02c5a032bb3a0c93929604d77f17
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-19 14:00:55 +00:00
hjk
6a4123a96f QmlProjectManager: Even more FilePath use
Change-Id: I4990b9171598d7f277f8e8e5a2b3e0fb1a3375d0
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-19 14:00:39 +00:00
hjk
5c7c102f3e QmlProjectManager: Fix starting .qmlproject on Boot2Qt
The "qmlscene" is called "qml" nowadays. Also give device settings
more priority to cover cases where there is no Qt build setup at all.
For this case, also demote the missing Qt build version from "Error"
to "Warning".

Task-number: QTCREATORBUG-28074
Change-Id: Ic44d2bee1965493925d21317d12d5c1f66ace88b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-19 13:59:38 +00:00
Amr Essam
08d4eab619 QmlDesigner: Create menu for Effects creation in the Asset Library
- Add menu item for effect creation instead of new file dialog
- New effect dialog with validating qml file name with qml naming conventions
- Open Effect Maker automatically when an effect is created

Task-number: QDS-8490
Task-number: QDS-8578
Change-Id: I04b075a0b283318906f309c7d394eda48577ae74
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-12-19 13:57:59 +00:00
Cristian Adam
a0afd51f3f CMakePM: Add "CMake Install" deployment step
This commit adds a "CMake Install" deployment step, which is using
"cmake --install" command.

"cmake --install" command has been added in CMake 3.15, this is why the
minimum CMake version has been updated to 3.15.

Note that CMakeBuildSystem::makeInstallCommand is still using cmake --
build --target install due to a CMake bug regarding "Ninja Multi-Config"
generator, which doesn't intall all binaries via "cmake --install".

Fixes: QTCREATORBUG-25880
Change-Id: I504674c380055d8ef136d344a78b80c17ecf9765
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-19 13:57:43 +00:00
Cristian Adam
2eb2aa13ae Qml2Puppet: Fix configuration when qml2puppet is disabled
Setting a property on a non existing target is a no go.

The changed done in 5b6bf29143 got somehow
removed by 036948c628

Change-Id: Id6d09b27817fa2c1f2c2c13127994710f5a2981a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-19 13:57:28 +00:00
Sami Shalayel
90b8e482c9 qml code model: load builtins import
LinkPrivate::linkImports() would either load the <builtins> or the
<defaults> module, but only process the <defaults> module in
LinkPrivate::populateImportedTypes().

Note: The <defaults> module (from the package '<default>') is the
QtCreator magic replacement for the actual <builtins> modules
(from the package 'QML').

This means that if the <defaults> were loaded, then QtObject would
be recognized as an object from QtQuick.
On the other hand, if the <builtins> were found, then neither
<defaults> nor <builtins> would have been imported and QtObject
would not have been found in the imports (because neither <defaults>
nor <builtins> would have been imported).

The "<defaults>-found" situation happens right after a "reset code
model" while the "<builtins>-found" appears when the qml code finally
found the <builtins> package, usually after running cmake or when a
project was freshly opened in Qt Creator.

Instead, always try to load both <defaults> and <builtins> module.

Also, fix the builtins.qmltypes (that contains the qt creators magic
types) to reflect that Component and QtObject
are both available from the QML package (the <builtins> module), as
else one cannot import QtObject from QtQml after a code mode reset.

Fixes: QTCREATORBUG-28287
Fixes: QTCREATORBUG-28375
Change-Id: I67084a169dc5ca8ec2474b721dbef83cd47037c7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-12-19 13:53:59 +00:00
Artem Sokolovskii
5cc77c4bf1 qmleditor: Remove foreach / Q_FOREACH usage
Task-number: QTCREATORBUG-27464
Change-Id: Ic6d667d97a9708963f7c3e21aa9598ffe0f9c7b7
Reviewed-by: hjk <hjk@qt.io>
2022-12-19 12:44:36 +00:00
Cristian Adam
70b3388684 CMakePM: Allow relative compiler paths for presets
You can have a preset with the PATH environment variable modified and
with CMAKE_C|XX_COMPILER CMake variables only as "gcc.exe" and "g++.exe"

Qt Creator now will search in PATH after the compiler file names and
work as expected.

Fixes: QTCREATORBUG-28602
Change-Id: I8520f6fcf5e542600fab08228d04d3709d3a8e8f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-12-19 11:52:37 +00:00
Christian Stenger
a7d8c4889e QmlPuppetCommunication: Fix cmake file for lupdate
lupdate cannot handle conditional source files.
Fixes target ts_untranslated.

Change-Id: I4110df9c8d935e3d10446cc8cc3b5d10d192e612
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-19 09:53:30 +00:00
Eike Ziller
456b8b69f9 build_plugins.py: Create signed package for plugins
On macOS if SIGNING_IDENTITY is given.
Creates an extra <plugin>-signed.7z, to not interfere with existing
build setups.

Change-Id: I8ec7f5cbeb14fb749d5d62398916629b83bdb833
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-12-16 14:59:06 +00:00
hjk
e42d24fca9 CppEditor: FilePathify some of the refactoring operations
... and adjust surrounding code.

Change-Id: I1d36e5a0c6ba14a1d9b8fd59340f1bb2a1e45ad1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-12-16 14:27:50 +00:00
Christian Kandeler
edd0e97ce1 ProjectExplorer: Fix wrong include
Change-Id: I5cc697749ad0abc92b633cb71f6c1a86c3627b24
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-12-16 14:22:35 +00:00
Henning Gruendl
cb187d7912 UpdateInfo: Fix long "show details" list
Task-number: QDS-7599
Change-Id: Ib3114b7284ae591e140d4e42739760fe7e13fae5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-16 14:03:07 +00:00
Samuel Ghinet
965fa9450c QmlDesigner: Fix cancel button not reverting background color
In the 3D view, when the user experiments with different background
colors, but then decides to cancel, upon pressing the Cancel button and
closing the dialog, the last color picked remained set.

This happened on Qt6.4 and not on Qt6.3. The reason for this was the
usage of Array.isArray() on an object exposed from C++ to QML of type
QVariant that could hold either a QList<QColor> or a a QColor. It looks
like there is no supported way from qml/js to see if a variable is a
list / sequence or a scalar. So the best way would be to always work
with QList<QColor> even though in most cases only one single QColor is
being used.

Task-number: QDS-8143
Change-Id: Ia7e8e1facad24439ad244305c213bb12e286105b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-12-16 13:59:25 +00:00
Mahmoud Badri
bb37d782ca QmlDesigner: Optimize requesting an image info for tooltips
Avoid loading an image for the sole purpose of getting the dimensions.
Also small relevant tweaks.

Change-Id: I3d11175340cb77d3634fe7e69481ad26db8a74ef
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-12-16 13:34:33 +00:00
hjk
674aad728e RemoteLinux: Hard-code /bin/sh for use in Open Terminal
... when changes to the environment are requested.

Ideally, that should be the user's chosen shell on the device,
but ssh does not support the case of specifying shell variables
without also giving an executable.

Short of playing tricks with /etc/passwd, getent, or env, use
/bin/sh which is guaranteed to exist.

Change-Id: I8d4b87f2a94eb9614d85dcacebd539ac645dc33d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-12-16 12:50:49 +00:00
Marcus Tillmanns
223bec26a1 LanguageServer: Add tooltip to file pattern
Change-Id: Ic404636bda45e9ff7ff3639232ebddfbfaf821c6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-12-16 12:28:32 +00:00
Marcus Tillmanns
0aeec80eeb Docker: Add Filepath::localSource()
FilePath::localSource can return a filepath that represents a local version
of a remote file.

It is used to let the debugger select the local version of a file when
debugging a remote target.

Change-Id: Ieb934ef0d454e8ff55e71df41dca825974d85da7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-12-16 12:27:49 +00:00
Samuel Ghinet
0feeb37ef7 QmlDesigner: Fix textures created from assets can have invalid source
When creating a texture from an image in the asset library, the "source"
for the texture was wrong for images outside of the "content/images"
directory of the project.

Task-number: QDS-8535
Change-Id: I30a28a7cb63748ce0fb81396ca59c7ccc9e83340
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-12-16 12:24:09 +00:00
Artem Sokolovskii
3904539e0d ClangFormat: Fix crash when m_fileName is empty
Fixes: QTCREATORBUG-28600
Change-Id: I3e0d64eb892daa5c63abe7ec81b258bf96fcdb1b
Reviewed-by: hjk <hjk@qt.io>
2022-12-16 12:15:37 +00:00
Artem Sokolovskii
2ffa843d40 ClangFormat: Make clang format checks widget resizable
- Change Form to Grid that looks consistent for
different OS

Change-Id: Ibb5fc3564d8c25457c4bf520acf78b25c542b5ae
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-12-16 12:15:32 +00:00
Xavier BESSON
3f554f3837 TextEditors: Implement "Follow Symbol" for HTTP urls in string literals
Task-number: QTCREATORBUG-14967
Change-Id: I30923aa94d761b06edb1f67007fd7e2a67065ef0
Reviewed-by: Xavier BESSON <developer@xavi-b.fr>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-12-16 12:08:37 +00:00
Samuel Ghinet
aaf2e6f0f7 QmlDesigner: Fix asset images becoming invalid after delete + recreate
The problem was that, for "invalid assets" (i.e. pixmaps of assets that
could not be read / did not exist on disk), the "default" thumbnail was
saved in the cache -- and thus, when the asset re-appeared on disk, the
"default" (invalid) thumbnail was shown.

Task-number: QDS-8591
Change-Id: Iec2f3e704c1deef2e7a7c75532518639fdc677e5
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-12-16 12:07:26 +00:00
Marcus Tillmanns
e603116abb ClangCodeModel: Remove unused variable
Change-Id: I06ab5d049db40c17e9b730b29934266445d5911f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-12-16 11:59:58 +00:00
Eike Ziller
994626d1f6 README.md: Add/correct instructions for building perfparser
Change-Id: I7dbdc9a34fb3297957cdb93a6f042c4fb6282eea
Reviewed-by: hjk <hjk@qt.io>
2022-12-16 11:57:21 +00:00
Xavier BESSON
676a4c1ee3 Fix CMakeFormatter
CMakeFormatter was executed on the file on disk before save, which messed things completely up (PipeProcessing seems to expect the file on disk already to be saved)

Change-Id: Idc7b475b5cddeaba4dc7bcc1b7899d73b2692310
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-12-16 11:43:00 +00:00
David Schulz
1eb73e4eb3 Editor: prevent validating line number in unwrapped editor
Checking whether a position is inside the first line is also not for
free. Only check the line number of a cursor position if we expect the
editor to have multiple lines per block or in other words line wrapping is
enabled.

Change-Id: I0e3cb1fbd11c250677f7c11d1a5c780f60085ec2
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2022-12-16 11:34:02 +00:00
David Schulz
f87fccafc1 TextEditor: prevent shaping text for indent depth painting
QTextLines cursorToX indirectly calls shapeText which is not for free.
We just want to have the x position for the line so there is no need to
shape the complete text to get the position of the first cursor.

Change-Id: I0ae636ed8250385b7ac77c6f37d45922bbf2e9bf
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2022-12-16 10:31:11 +00:00
David Schulz
5eeef19743 LanguageClient: resend rename request automatically on changes
Instead of asking the user to trigger the search again button before
being able to trigger the replace operation.

Change-Id: Ie2f0674255249b27d9435fc9df344e3f21bb886a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-12-16 09:12:01 +00:00