Commit Graph

62421 Commits

Author SHA1 Message Date
Tim Jenssen
564298bba5 qmldesigner: fix crash while switching modes
Task-number: QDS-7984
Change-Id: Ia1803ce062c3956390c12f0da5b86577593fd721
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-28 08:02:55 +00:00
Miikka Heikkinen
bc370aecfd QmlDesigner: Hide material bundle if QtQuick3D version too low
Most materials in the material bundle require at least QtQuick3D 6.3,
so we hide the bundle materials from material browser when the detected
module version is less than 6.3.

Fixes: QDS-8100
Change-Id: I9f50b507c3c3c50f821fa6a902995b999da24464
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-10-27 14:35:07 +00:00
Daniele Bortolotti
afb3c09289 McuSupport: Fix version detection for GHS toolchains
The GHS compiler invoked without a valid input source file returns
an error code. Use gversion instead, a utility part of the toolchain,
with -help to retrieve the version string.

Change-Id: I289f462d322db045368cfb5a02b6644838559639
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-27 13:59:23 +00:00
Sivert Krøvel
db7674307d McuSupport: Only store valid paths to settings
The plugin currently requires valid packages before updating kits.
Invalid packages are ignored. This change makes writing to settings
consistent with this approach. If any of the given paths are invalid,
changes are not applied.

In order to not accidentally include changes made to packages for
other targets than the one visible in the UI, the Apply-button in the
Devices page now only stores the current target. This also avoids
unpredictable behavior when more than one target in the repo track
the same dependencies. The path shown in the UI is the one which is
applied, not a hidden path currently stored in another target.

Change-Id: Id0a6ec1aebd53357d0ee2fb68f14529f34ae887f
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-27 13:52:15 +00:00
Sivert Krøvel
8afdb62564 McuSupport: Fix error in McuPackage validity check
The recently added McuPackage::Status::ValidPackageVersionNotDeteced is
supposed to be a valid status for an McuPackage, similar to
ValidPackageMismatchedVersion. It produces a warning symbol, but is not
supposed to block kit creation.

Task-number: QTCREATORBUG-28246
Change-Id: Ifdc8488d28019ec76d29114501876c6d7d5e700c
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-27 13:49:09 +00:00
Sivert Krøvel
ca3de9c3c7 McuSupport: Add missing settings keys
The JSON entry "setting" contains the key under which the path to a
dependency is persistently stored by QtCreator. Some packages were
missing this entry, and as such changes to their settings were not made
permanent.

This patch updates test jsons to match Qt for MCUs repo.

Task-number: QTCREATORBUG-28246
Change-Id: Iaa3eaf28648e97e677a2dd3f1ab5580c18586ca2
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-27 13:48:45 +00:00
Marcus Tillmanns
6936f23328 CMake: Fix settings display not updated
Fixes: QTCREATORBUG-28267
Change-Id: Icf2fb7e5d7a8cd44d7a61ade36be41106aba2138
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-10-27 13:11:29 +00:00
Marcus Tillmanns
24fcdd9c16 Core: Hide Scrollbar highlight
This patch hides the scrollbar overlay when the Scrollbar itself
gets hidden, for example on mac for documents that fit into the
viewport.

Fixes: QTCREATORBUG-28336
Change-Id: I2cb61affe38d0066a3d6f3ca012f97674b3d1539
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-27 13:09:00 +00:00
Miikka Heikkinen
d72f5674b5 QmlDesigner: Fix dynamic properties on material library init
Nodes with dynamic properties cannot be reparented under a newly
created node in the same transaction without breaking said properties.

To work around this issue, ensureMaterialLibraryNode() was split into
two transactions. This also meant removing ensureMaterialLibraryNode()
call from materialLibraryNode(), so now material library will only be
created in response to model attach or qtquick3d import addition.
This should still cover all cases where user doesn't manually remove
the material library node.

Fixes: QDS-8095
Change-Id: Icff449b2bee0da2b43b02bbf5e0d28189aa2b3a9
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-10-27 13:07:49 +00:00
Orgad Shaneh
e61e92d016 Git: Fix focus issue in LogChangeWidget
Workaround QTBUG-89156.

Change-Id: Ia128db1c0c2ee85985b6a725b6cb849d87844668
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-10-27 10:08:10 +00:00
Marcus Tillmanns
b65205ed97 Texteditor: Fix text with underline black background
If text was given an underline and the background was unset,
it was drawn with a black background. This had been implemented
for QTCREATORBUG-18101. Removing that patch does not seem
to re-introduce that bug.

Fixes: QTCREATORBUG-19191
Change-Id: Iaad05abbc7c673d233601ef72d1641e2edc530c5
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-27 10:01:37 +00:00
Miikka Heikkinen
90e5ca4748 QmlDesigner: Fix duplicating materials with dynamic properties
Fixes: QDS-8091
Change-Id: I0f9a710214850326d1cda179c1a2aa6332b98510
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-10-27 08:53:12 +00:00
Daniele Bortolotti
bd812b6feb McuSupport: Remove MSVC2017 from supported toolchains
According to our documentation we support MSVC2019 (16.0)
https://doc-snapshots.qt.io/qtformcus-dev/qtul-msvc-compiler.html

Change-Id: I45fd8cda40f1775be3c575e5b4ac55c3a714c4fe
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-27 07:40:26 +00:00
Daniele Bortolotti
f7b5e9dcc8 McuSupport: Fix MSVC toolchain in legacy mode
Wrong executable argument for version detector was not allowing
for Desktop MSVC kit creation in legacy mode.

Task-number: UL-6597
Change-Id: If64472002e3aace6240c91cf9c303a2f01febe50
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-27 07:00:28 +00:00
Christian Stenger
ba99a7f921 AutoTest: Fix crash
Remove the unneeded stunt when clearing cache which only led
to crashes.

Fixes: QTCREATORBUG-28269
Change-Id: I908bcbee0f49369a589862cd8fbd3253444246c3
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-27 06:54:52 +00:00
Marcus Tillmanns
87cf82cf06 Utils: Fix inconsistent debug output
Change-Id: Iccfae5e70e4f0992cbf16e05688547e54c637a27
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-27 06:53:40 +00:00
Marcus Tillmanns
af0797f0cc Utils: Workaround for slow data upload
The deviceshell script is slow to upload large amounts of stdin data.

Use QtcProcess directly if the size of the data exceeds 100kb.

Change-Id: Ide63bfd973d31f7f076ab7cd4be73cc85c9239ea
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-27 06:53:36 +00:00
Orgad Shaneh
913c6f037c VCS: Remove export for inline functions
vcsenums.h:29:28: warning: inline function 'void VcsBase::operator|=(VcsBase::RunFlags&, VcsBase::RunFlags)' declared as dllimport: attribute ignored [-Wattributes]
   29 | inline void VCSBASE_EXPORT operator|=(RunFlags &p, RunFlags r)
      |                            ^~~~~~~~

Change-Id: I0490965260302009bb49ed1c4be994496cbe186f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-27 06:32:58 +00:00
Christian Stenger
774b74583e Cppcheck: Do not start non-existing tool
Just pollutes the General Messages pane, so skip
execution if tool is not existing.

Change-Id: Ib78e3a8ccd992ff2d58f183102c778c800156b89
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-10-27 06:25:47 +00:00
David Schulz
26bb95331b Editor: fix FontSettings::lineSpacing for zoomed fonts
Change-Id: Ia7ad3a877c56fb9cd962592b6d3e967beb9002dc
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-27 06:12:12 +00:00
Orgad Shaneh
e003a02721 VCS: Fix resolving active directory for temp editors
Amends c666c93882.

Change-Id: Ib7aeb9616d3d527f829ece2a39eb5ddf77f9431e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-10-26 20:57:39 +00:00
Thomas Hartmann
565bb8052f QmlDesigner: Add option to allow multiple projects
Setting QML/Designer/AllowMultipleProjects to true
allows multiple projects.

Task-number: QDS-7865
Change-Id: Ib44653e48cfbdb439c18dc2d3c57a4ae2ab0ee43
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-26 15:05:27 +00:00
Christian Kandeler
5b7729a21a QbsProjectManager: Fix displayed build variant in build step
The initialization was lost in 2ecfda056b.

Change-Id: I40db0ea26de74aa6420ecc50c473bbcb22891238
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-26 15:02:40 +00:00
David Schulz
37640257db Editor: Fix painting highlights on scrollbar
The document layout rounds up the height of lines in
QTextLayout::boundingRect, so we have to do the same for calculating the
position of highlights on the scrollbar.

Fixes: QTCREATORBUG-28299
Change-Id: I36496ebec7fe7861feff7cb8a2647a11ee078b8f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 12:56:40 +00:00
Marcus Tillmanns
38c8e20071 QMake: Remove unnecessary build dir changed
Previously every time a qmake project was built, the
"buildDirectoryChanged()" was emitted, leading to a complete
reparse of the project file, tests, qml files and qml imports.

To keep "QmakeBuildConfiguration::updateProblemLabel" be called,
we re-introduce the "buildDirectoryInitialized" signal.

Task-number: QTCREATORBUG-27785
Change-Id: I32d881eacb8cf26050c33da643c74c2cab4dc22d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-10-26 11:47:49 +00:00
Marcus Tillmanns
a2c052089b Autotest: Don't parse tests without files
Previously the "Scan for tests" dialog would pop up
momentarily during project loading, even though no
files were loaded yet.

Partial fix for: QTCREATORBUG-27785

Change-Id: I4087ba23d00a628465dd1532a725d9bcc37dec30
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 10:51:03 +00:00
Knud Dollereder
0482db7a1b QmlDesigner: Fix EasingCurve editor
Due to a behavioral change in QTabBar the tabs to choose between the curve editors "factory presets" and "custom presets" got lost.
Reordering the function calls made it appear again.
Prevent the user from assigning the same name to different easing curves.

Fixes: QDS-7720
Fixes: QDS-7721
Change-Id: I247309824868625d2e581f54590dd4c3d99528dd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-10-26 10:12:16 +00:00
Rainer Keller
9257a15a68 McuSupport: The armgcc version string does not contain 'v'
Change-Id: Ic259bed17a97bccb64f427ce2054efc9d05b55f2
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 09:26:58 +00:00
Kwangsub Kim
d1a9cecf59 McuSupport: Fix crash when there is no proper desktop toolchain
Desktop toolchain is picked up from the registered toolchains
in Qt Creator, but it can be failed, for instance when there
is no toolchain for MinGW, and it causes crash for now. An
error handling is added to avoid it and inform to a user.

Task-number: QTCREATORBUG-28296
Change-Id: Ie16cd6c75df9be510bb49b765ad61ddf189a41db
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 08:45:43 +00:00
Robert Löhning
5039ebff70 Help: SquishTests: Updates for tst_WELP01
Change-Id: I2e25f8c3368c4c00c13827f5eb70d9e3a4fc5a9e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 07:33:16 +00:00
Artem Sokolovskii
afed126ba1 ClangFormat: Fix wrong comment indentation
Fixes: QTCREATORBUG-25539
Change-Id: Ifecc4bc2c0984319d858720d5bcd1788a9008e90
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-26 07:21:07 +00:00
Kwangsub Kim
02024303b1 McuSupport: Specify MSVC type for toolchain pick up
The current criteria allows to select LLVM so that it can cause
an unexpected behavior. Explicit toolchain type check will prevent
the invalid toolchain setup.

Change-Id: Ib0afa4304650dd451c12d7a8d950b26115661862
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 00:11:22 +00:00
Cristian Adam
4fdbfe1641 CMakePM: Proper handling of relative toolchain files in CMakePresets
Previously it was only tested with absolute paths.

Change-Id: I3871da60f3f1b17ae4d2d4cfb69d1be60da1435b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-10-25 20:56:24 +00:00
Cristian Adam
fb94873765 CMakePM: Use Utils::Environment for Presets environment
Utils::Environment takes care of the case insesitivity of the key of
environment variables on Windows.

Change-Id: I624340d30c6b170b5d0a86791f26a4841a0b2fb7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-10-25 20:56:15 +00:00
Cristian Adam
83e77d71a8 CMakePM: Expand cache variables for the preset probe
This way the CMAKE_PREFIX_PATH set to $env{HOME}/Qt (Linux) or
$env{SystemDrive}/Qt (Windows) would work as expected.

Change-Id: I03a9102d6d1da2a8740cab738577c47c44166c6c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-25 20:56:06 +00:00
Cristian Adam
ec4d96a14b CMakePM: Accept broken kits for CMakePresets
For CMakePresets if a preset is broken we should not create a preset kit
for every build type.

Instead reuse the broken kit created by the first build type.

Task-number: QTCREATORBUG-28295
Change-Id: I038fbb23817834f59ac73ccd2f9953f1a412b656
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-25 20:55:08 +00:00
Cristian Adam
7dfc7c627b CMakePM: Allow presets without generator specified
This allows presets that do not have a generator specified to proper
work.

On Windows CMake will detect "Visual Studio" as generator. This change
sets the generator and the architecture values accordingly.

Change-Id: I943e082430445c4b16cf9eaf4ae5ae2500b2bd2b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-25 20:54:59 +00:00
Cristian Adam
869597884d CMakePM: Merge cacheVariables, environment for inherited presets
cacheVariables, environment (and others) collection fields need to be
merged when having inherited presets.

Fixes: QTCREATORBUG-28360
Change-Id: I3d2b84355fad9ffa2dc4629ece7d42f7b482a859
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-10-25 20:54:49 +00:00
Miikka Heikkinen
8da35bac0f QmlDesigner: Add support for SpecularGlossyMaterial
Task-number: QDS-8087
Change-Id: Ic5cdca5d61d5f4ad11f63f3f5a59907798cde763
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-25 15:06:35 +00:00
David Schulz
0944bfb7f0 Editor: Fix find usage position in context menu
Do not add the find usage action to an editor context menu if it is
already there.

Change-Id: I0a98d81ae0e08be69ca2579af5701b5fbc8ccbda
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-10-25 15:05:38 +00:00
Thomas Hartmann
162635cbe8 QmlDesigner: Allow QtQuick 6.4
Change-Id: Icb7f3be479f3e2db6b500fec7c209cb429ff4f22
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-10-25 14:45:50 +00:00
Marcus Tillmanns
d46a079744 Utils: Fix copyFile to include permissions
Also adds line breaks to info output.

Change-Id: I314ab87a47d7bd7541acb6a1553238fcfc27099d
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-25 13:31:10 +00:00
Marcus Tillmanns
b9062e9c80 Debugger: Fix crash on start debugging
Change-Id: Iff517a977f85bd4ac6e1fdac502797f2455ae6f6
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-25 12:18:15 +00:00
Thomas Hartmann
09b17bcb4c QmlDesigner: Remove [[noreturn]]
The throw is conditional now.

Change-Id: I058fa8c665714cd9375ee4414a1280e85b6ca270
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-10-25 10:33:37 +00:00
Thomas Hartmann
da11533a6d QmlDesigner: Add space to ItemLibraryEntry name for ColorAnimation
Task-number: QDS-8079
Change-Id: I09057c58ca17cae22bbea7d5b67eba0ca48e9cf2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-25 09:39:04 +00:00
Ali Kianian
f2f6f6e6cc Reload material property groups when model changes
The property groups would be unloaded when a model is detached,
and it would be loaded when the model is attached.
The problem was that the unload function was missing for the
MaterialBrowserModel.

Task-number: QDS-7515
Change-Id: I89064a78552c10228c0b18e42c1e0df4a92fb4a6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-10-25 09:18:51 +00:00
Christian Stenger
6cc47de5b1 PE: Do not use setVisible() before having a parent
Fixes shortly popping up floating widget on the Build & Run
settings page.

Change-Id: I8bcc887ae73b9cb27f690548d0e98038fb757674
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-25 06:43:24 +00:00
Christian Kandeler
a459ee5d24 ClangCodeModel: Re-enable renaming via clangd
The hard rename limit is gone, see https://reviews.llvm.org/D136454.
Make the feature opt-in for now, as we still need to do some UI fine-
tuning

Change-Id: Ic631a5b39711c6f37fffeeec4d2a5f5bf3bde92b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-24 11:44:51 +00:00
Daniele Bortolotti
16261ad472 McuSupport: Improve version detector logic
McuPackageDirectoryVersionDetector class name was misleading,
McuPackageDirectoryEntriesVersionDetector better describes its
purpose as it can be used to search for a regex match among the
entries in packagePath filtered by filePattern. Also, remove
isFile boolean member variable since is not needed for current
use cases, ie Renesas Graphics library (RGL), and filePattern
can be used instead.

Also, improve version detector creation logic. If no filePattern
is present in the Json kit file, the regex match is based on
packagePath only, which is the correct way to detect the version
for RGL.

Task-number: UL-6642
Change-Id: I3ee2fdb623bdd77aea60f9eae3672b9b5aa40433
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-24 11:40:11 +00:00
Miikka Heikkinen
ccb0349453 QmlDesigner: Don't create module import if later version exists
When creating nodes via 3D view context menu, later versions of
imported modules are also accepted rather than just the exact required
version specified in the ItemLibraryEntry. This fixes the issue of
adding duplicate import statements for the same module with different
versions.

Change-Id: Id8437a1817346839488bea7bf89529cc63f4849f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-10-24 11:38:42 +00:00