Commit Graph

76860 Commits

Author SHA1 Message Date
Thomas Hartmann
a7b18f7860 QmlDesigner: Register QML types already in the plugin
The states editor is using some of the types, too.
We have to move the type registration out of the property editor in the
future.

Change-Id: I8a8b38180592a5785592e2482f35aad70208e62c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2022-09-19 16:50:37 +00:00
Thomas Hartmann
bbffd88c1b QmlDesigner: Add setting for new states editor
This makes it easy to enable/disable the new states editor.
[QML}
Designer\OldStatesEditor=false

Change-Id: Ib3545bf0be8547af06eb0e9dda0cee2a143659b1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2022-09-19 16:50:28 +00:00
Thomas Hartmann
f639f72c14 QmlDesigner: Add QmlObjectNode::getAllConnections
Change-Id: Id6fa6ecdf1173eea1087057f4317dd1a9c3f6b17
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2022-09-19 16:08:05 +00:00
Henning Gruendl
9ffc004beb QmlDesigner: Add new states editor
* Add responsive layout algorithm for states editor
* Add support for extending states
* Drag and drop states
* Display when condition in state thumbnail
* Toggle between property changes and thumbnail
* Display PropertyChanges properties
* Make property changes removable
* Add StateGroup support
* Add toolbar

Task-number: QDS-7639
Change-Id: Iabcbb0a02f7728c29abbdc1000102582c5638eba
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-09-19 15:52:53 +00:00
Marcus Tillmanns
e363f27288 dockerdevice: Only try to kill if pid is valid
Change-Id: I844c8e50437b331925f9baa6862c19208edb4599
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-09-19 13:49:04 +00:00
hjk
3dff69979b Utils: "Fix" UNC file path parsing
... by adapting the expectations.

Change-Id: If3a3fe2def370440f1edbbcb5a1c2646f1239f67
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-19 13:24:43 +00:00
hjk
3522097a8b Utils: Normalize backslashes on FilePath parsing again
Change-Id: I8ee0bc53244785d78acfad406664a907ab088301
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-19 13:24:20 +00:00
hjk
bd8d525d70 Utils: Drop QDir::rootPath() uses from FilePath parsing
Fixes three of the EXPECTED_FAIL.

Change-Id: Idf5356cf6ff151c61166404e2b2697b6b0acabd9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-19 13:23:47 +00:00
hjk
b3200b7730 Utils: Move 'isWindowsHost' test to startsWithDriveLetter callers
"Fixes" one Q_SKIP and makes the implementation OS-agnostic.

FilePath::osType() actually depends on the host system for not fully
qualified file paths, and that doesn't seem to be the right thing to do
in all cases. The caller may actually have more context to decide
whether this is needed (e.g. in pathchooser.cpp in the context of
"return value from a GUI element, i.e. 'host' implied).

Change-Id: Iff80c17094d2deec79d34d0527223fbcf8294935
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-19 13:14:58 +00:00
Christian Kandeler
4119181762 CppEditor: Make value vs const ref return type configurable
... in the quickfix settings.
Also change the default: With mandatory RVO and move semantics, value
return types are the right choice most of the time.

Fixes: QTCREATORBUG-25790
Change-Id: I68fc6c616358478ba893101b3e04aa6bbbe79348
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-09-19 12:30:47 +00:00
Alessandro Portale
75e35cc4f2 Tracing: Convert to using Tr::tr
Change-Id: If2dd9ac8dfd54bb2305a8149acce401f854fa2dc
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-19 12:28:35 +00:00
Alessandro Portale
cbc954866d QtSupport: Fix Qt header include
Change
 #include "qversionnumber.h"
to
 #include <QVersionNumber>

Amends: a917770053

Change-Id: Ia6e82f56bf599b39b26391a13ce886dfd1ecbc69
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 12:27:31 +00:00
Marcus Tillmanns
dabd9a175e CMake: Make sure source/build directories are reachable
Change-Id: Iea4547807b3a59eb9a8cb70d51d9015dbc8013e3
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 12:16:54 +00:00
Alessandro Portale
a917770053 Replace QtSupport::QtVersionNumber with QVersionNumber
Task-number: QTCREATORBUG-27786
Change-Id: I71a44709c264829f629c9dfce702076eda297a77
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 12:08:39 +00:00
hjk
1e8089d5b7 Utils: Drop argument from PathChooser::rawFileChanged
Preparation for further consolidation.

Change-Id: Ia297d78763a24c168ae5fd13fbe30f6963f33fc7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-09-19 11:35:49 +00:00
Eike Ziller
9258babf85 ExtensionSystem: Remove unused flag
The "hidden by default" functionality was removed.

Amends 361b80cb9b

Change-Id: I1d280dc50401f231b0cc4a1e7b63b7bcec1666ea
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 11:34:17 +00:00
Marcus Tillmanns
88969b79eb Filepath: Add ensureReachable function
ensureReachable checks whether the device (if any) of the filepath
can "reach" another FilePath. Devices can then either return false
if they don't, or take action to ensure that the path can be reached.

Change-Id: Ic1a315b9e7d9e37ee649989313a4cdb195a7e4d9
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 11:13:08 +00:00
Marcus Tillmanns
cc6a7b113a fileutils: Fix tests
Change-Id: Iafeab41b0e6f7cdb10802e48c3bc7fe5548c064c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-19 11:01:30 +00:00
hjk
06334e1816 Utils: Replace FilePath::rootPath() by some isRootPath()
Keeps more context to make it host-independent later.

Change-Id: I0f8ad3e8794daa6324662847203200ae378d34b4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-19 10:39:55 +00:00
Jarek Kobus
eda8a4244f GitBaseDiffEditorController: Use cleanedStdOut()
Instead of connecting to stdOutText() signal.

Change-Id: Ia9d1d38934e254a8824620947a409fc52f7f531f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-19 10:31:45 +00:00
Jarek Kobus
3978cdde6c VcsCommand: Add std channel getters
Conform to QtcProcess interface and provide cleanedStdOut()
and cleanedStdErr() getters, to be called after the process
finished.

Use cleanedStdOut() inside DiffEditorController for getting
the output after the process finished instead of connecting
to stdOutText() signal.

Change-Id: I7ba3735b0ab2167ac1f3b0954dd5dc9553910aac
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-19 10:31:35 +00:00
Jarek Kobus
5b0c2bcbf8 QtcProcess: Fix stdErr() assert
The keepRawData field may be false only after calling
setStdErrLineCallback(). In all current usages (7 places)
we don't call stdErr() nor cleanedStdErr().
VcsCommand was using setStdErrCallback() so that did not
change the keepRawData to false.

It looks like currently it should be safe to fix this assert.

Amends 4000819262

Change-Id: I9f8627166d194579c5a0fe13d241ff37aecac47c
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 10:31:02 +00:00
Thomas Hartmann
89535f1025 QmlDesigner: Hide dynamic properties if multiple items are selected
If multiple items get selected it is not clear to which item
the property belongs. Therefore we hide the section.

Task-number: QDS-7688
Change-Id: Ieaa0114d87974fea3135adc2d1bcd979c2236ed2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-09-19 09:43:30 +00:00
Alessandro Portale
4360462d22 Help: Fix linker issue with QtWebEngine help viewer on Windows
EXPLICIT_MOC webenginehelpviewer.h

Change-Id: I4f282262105ec9a1c22eed6bed670e48074cadbe
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-09-19 09:35:58 +00:00
Thomas Hartmann
608fa309a7 QmlDesigner: Add RegExp for dynamic properties
Task-number: QDS-7701
Change-Id: I9ef218c1b72789c527af5eabe923cf664b951ab2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-09-19 09:02:53 +00:00
The Qt Project
f2c57db69f Merge "Merge remote-tracking branch 'origin/8.0'" 2022-09-19 08:56:50 +00:00
hjk
85c899de63 Utils: Make root recognition in FilePath::fromString host agnostic
Fixes a few XFAILS and a QSKIP

Change-Id: I012d873097dfa0ea565adc4e9a2b34f6c21db9dc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-19 08:51:20 +00:00
hjk
b133197258 Docker/Android: Add Dockerfile for manual test
Done-by: Alessandro, Cristian, Marcus
Change-Id: I3806bb7386f5e7db28489f9f7e685648bfc20110
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 08:33:19 +00:00
Eike Ziller
5d55cfdae5 Merge remote-tracking branch 'origin/8.0'
Conflicts:
	share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml
	share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/icons.ttf
	src/libs/utils/fileutils.cpp
	src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp
	src/plugins/qmldesigner/designercore/include/abstractview.h
	src/plugins/qmldesigner/designercore/include/nodemetainfo.h
	src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
	src/plugins/qmldesigner/designercore/model/model_p.h
	src/plugins/remotelinux/linuxdevice.cpp
	tests/auto/utils/fileutils/tst_fileutils.cpp

Change-Id: I26a21e2523d3d725fdb8c548a531cdbdaeaeca20
2022-09-19 09:54:06 +02:00
hjk
2f2e266fdf Utils: Make FilePath::toString() output OS-independent again
Change-Id: Ica7c09ea39a38e3425b28c63b6001ad7ad641a4f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-09-19 07:44:26 +00:00
Leena Miettinen
a7c0bffc5c Doc: Use "Coco" as product name and link to Coco Manual at doc.qt.io
Instead of "Squish Coco" and linking to the manual at doc.froglogig.com.

Change-Id: Ibac31680b38aec093f40f06ed22cd5f518839cd7
Reviewed-by: Harri Porten <harri.porten@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-09-19 06:51:06 +00:00
Jarek Kobus
2429232e72 VcsBaseDiffEditorController: Fix git show
Though it was looking weird, it's still needed.

Amends 73e48ef275

Change-Id: Idedc254a9dad125239becfe4f2edb9fe93298bfc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-17 21:37:34 +00:00
Alexander Akulich
17f1c8d928 ClangdSettingsWidget: Use CheckBox with text instead of CheckBox+Label
This fixes vertical alignment.

Change-Id: I01b70daffba0550ec6955bd0523930edc5acc8e9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-09-16 16:09:02 +00:00
Thomas Hartmann
39f44cf57c QmlDesigner: Fix expressions in DynamicPropertyRow and states
* States are now taken into account.
* If name is empty in expressionChanged(), then this
  is just a notifier for the QML frontend and has to be ignored.
* When exposing the expression to QML we also have to take into
  account states.
* Implementing resetting dynamic properties. We have to hardcode
  the default values for the base state
* I also implemented the callbacks in the views for PropertyChanges.

Change-Id: I08247a3c1783a52853db7bf0f7f249520f7edc1c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-09-16 15:04:29 +00:00
Aleksei German
26e5b3787c QmlDesigner: Add MouseArea Shortcut
Task-number: QDS-7675
Change-Id: Ibc0bdeecbd83a063d99973fd6bc945907f4a124a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-09-16 14:27:30 +00:00
Miikka Heikkinen
523d632874 QmlDesigner: Fix UrlChooser preview image
The path used to resolve image was not updated in case selection
changed between two model nodes of the same type.

Fixes: QDS-7694
Change-Id: Ibbb11be02140eb9aa67a734894041f9167d13fe4
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-09-16 13:51:09 +00:00
Henning Gruendl
4499b562bf QmlDesigner: Fix unpin icon
Change-Id: Ieea50de6bc6b053d9cd66929812ceeaab5b423de
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-09-16 13:43:04 +00:00
Jarek Kobus
73e48ef275 VcsBaseDiffEditorController: Get rid of VcsCommandResultProxy
The workaround with VcsCommandResultProxy, introduced in
0b1eaacabb isn't needed anymore
since finished() and stdOutText() signals are now emitted
synchronously from the caller's thread.

Give a context object to watcher's finished handler.

Change-Id: I6608b7c2806fc0c18649ff40f91684e9eaa7b15d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-09-16 11:40:12 +00:00
Alessandro Portale
60098e5fea ProjectExplorer: Remove extra margins around CustomParser widget
Change-Id: I840211296c45391bc96474220663f6a56df22fe8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-09-16 08:40:02 +00:00
hjk
31556332f5 Utils: Make FilePath::toFSPathString a full copy of toString
Changing the toString() to prepend system-specific prefixes
to cater for the remote filesystem model handling had unintended
sideeffects.

This here is the first step to split both paths.

Change-Id: I66cdd9a87802408e2ba95c2e29b9d7cce7fe2553
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-16 08:24:20 +00:00
Robert Löhning
a35ebe2753 Squish: Update and improve isMsvcConfig()
Change-Id: Icff3a8178e89623097e2da7ff8f1e72197f1a4dc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-16 08:09:53 +00:00
Christian Kandeler
f99e17efa4 CppEditor: Implement "Follow Symbol" for qrc paths in string literals
The "symbol" in this case is the file that the qrc path points to.

Task-number: QTCREATORBUG-28087
Change-Id: I0d3ff96513d51e9dde4fb378695787b839c26100
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-16 07:47:17 +00:00
Christian Kandeler
6abebbbe35 CppEditor: Remove extra CPlusPlus::Class member
Amends 0fab5956ea.
We want to avoid carrying these eight bytes ber Class instance around.
Instead, we now just replace the (anonymous) struct name with the
typedef'ed one.
Note that in C (but not C++), this is possible:
    struct S {};
    typedef struct {} S;
    struct S s1;
    S s2;
However, our code model has never respected the extra struct namespace,
so it can already not distinguish between occurrences of "S" and "struct
S".

Change-Id: I55feafea7d3a4a5848e10f7011f633a2ce0f626e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-09-16 07:31:22 +00:00
Alessandro Portale
cc7d757a3a ClangFormat: Remove extra margins around ConfigWidget
Change-Id: I542ce841bf1144d4063190d1ec83fef7c1295248
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-09-16 07:28:31 +00:00
Alessandro Portale
5254261922 Utils: Remove extra upper Margin in "unexpanded" DetailsWidgets
This removes the empty space on top in the RunConfiguration settings and
QtVersion/qmake details.

Change-Id: Ibc72d3a703dd1f32aa2cfa25b33feb651aaa5098
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-09-16 07:28:26 +00:00
Jarek Kobus
7274cad083 VcsCommand: Always install std callbacks
Do it also in fully synchronous case, as QtcProcess
is able to handle them even when EventLoopMode is off.

Change-Id: Ic24ff34e3d8808d2aaaf0300ba4ac95662e46d23
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-16 07:20:21 +00:00
Marcus Tillmanns
ccf84a70af Deviceshell: Add missing #pragma once
Change-Id: Icce5152f7db505e1f0a368300b05e417e7575185
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-16 07:12:07 +00:00
Mats Honkamaa
710be65822 Doc: Update material editor and browser docs
Added info about dragging and dropping materials to objects and
copying and pasting material properties.

Task-number: QDS-7408
Change-Id: I5d051a7df2a1b021db07ca36bf4d6f356e7ea6a2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-09-16 06:33:13 +00:00
Alessandro Portale
528c44ba8a CMakeProjectManager: Remove margins around CMakeBuildStep widget
Change-Id: I9b2a1a615f987c3dff9b5fcb29b0a10c5417f752
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-09-16 05:57:37 +00:00
Christian Stenger
1e3e41da52 CppEditor: Fix test expectations
Amends ec1905c6fa.

Change-Id: I6fc886ed87ddad46396fd728ca09f430cc3a4d65
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-09-16 04:30:10 +00:00