Commit Graph

7806 Commits

Author SHA1 Message Date
Eike Ziller
086b4eef07 Plugin wizard: Enable building against Qt Creator snapshots in github workflow
Change-Id: I36a6ffb878c5bc6a59219424cab5b71bdc12bf33
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-02-17 14:51:04 +00:00
Aleksei German
c81d672bb0 QmlDesigner: QDS Annotations
- Extended Auxiliary data support for Annotations
 - Extended Model Node interface
 - New Tool created
 - Form Editor & Property Editor visualization

Task: QDS-39
Change-Id: Idf15f9b295cb2b977fd5557acffbd40757f13a8e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-02-17 14:50:17 +00:00
Andre Hartmann
da42176da8 QmlPuppet: Fix unused parameter warnings
Change-Id: I3bd5f921a3ca1f6067fac6e232f383f0b1be5463
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2020-02-17 13:50:50 +00:00
Thomas Hartmann
2f13a2a029 QmlDesigner: Add property editor sheets for animations
Task-number: QDS-1613
Change-Id: I38bd2274983ec063af625f924f61cfb262e24d1f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-02-14 15:30:55 +00:00
Henning Gruendl
905db66355 QmlDesigner: Add new icon font
- Set unique family name to avoid clash
 - Add new icons

Task-number: QDS-1578
Change-Id: Ic526d2e015a6372d61241bcf1568cced119ab87a
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-14 12:54:49 +00:00
Miikka Heikkinen
1d71e6ac17 QmlDesigner: Store tool state on per-scene basis
Tool state of the scene is linked to qml id of the scene root, so that
tool states are preserved through delete and undo, which causes
generation of new internal ids for instances.

Tool state storage doesn't currently survive changing of scene root
qml id, as tracking that isn't trivial. It's not enough to simply track
id change commands because model repurposes existing nodes when major
graph changes occur, causing unexpected id changes e.g. when
delete/undo is done.

Change-Id: I74d11ce47e86ce5d29796399c4a91b65980b1597
Fixes: QDS-1536
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-11 12:13:24 +00:00
Mahmoud Badri
159c82802b QmlDesigner: Maintain grid size while zooming
Task-number: QDS-1622
Change-Id: I488b78304866b40b16d17d643816aa899ccb4cd9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2020-02-10 21:47:06 +00:00
Assam Boudjelthia
f46099d21e Android: Automatically download SDK tools and essential packages
Automatically download Android SDK Tools to default path
used by Android Studio, then essential packages will be installed
using the sdkmanager tool. Automatic installation can also be
triggered by an added button in the settings page.

Essentials packages include NDK Bundle and other NDK versions
required by previous Qt versions.

An sdk_definitions.json file holds download paths for SDK Tools,
and other (Qt version <-> essential packages) combinations.

[ChangeLog][Android] Automatically download SDK Tools, NDKs and
all essential packages for Android builds.

Task-number: QTCREATORBUG-23285
Change-Id: I90e7aafecd017d2bdc959e403711d9d440a6bbb2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-07 18:21:30 +00:00
Mahmoud Badri
76bb4e4c08 QmlDesigner: Implement grid zooming
Grid zooms in and out according to camera zoom so that grid spacing is
neither too condense nor too sparse. Also changed the grid color to be
a bit darker and few other small tweaks.
PS: if the view camera is panned, the grid will not work correctly.
This is due to issues with the camera zoom calculations and is not part
of this commit.

Task-number: QDS-1566
Change-Id: Ib08d5387b028b8d870df9ecf88a5766eae5a509e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-07 10:21:06 +00:00
Miikka Heikkinen
7c992f5450 QmlDesigner: Insert a node dragged to 3d edit view into correct scene
Added scene instance id to the drop command.

Change-Id: I42df07fec823083454ad5a70ccafa318d05ab224
Fixes: QDS-1594
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-07 10:17:47 +00:00
Miikka Heikkinen
ec4e60e691 QmlDesigner: Fix build with Qt 5.14.1
A quick3d private API used was introduced in 5.14.2

Change-Id: I03e48fb79068e16a24b2c2a1e128d59efb6c8fad
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-02-06 12:51:58 +00:00
Miikka Heikkinen
07ada921dc QmlDesigner: Fix camera frustum visualization in 3d edit view
Now camera frustum visualization should always appear correctly in
3D edit view, as the QSSGRenderCamera node is created at frustum
geometry update time if it's missing. Active scene change
also triggers geometry update for camera gizmos.

Change-Id: If24e97490b2ff6607049b5288c6e167aa29a86b2
Fixes: QDS-1472
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-06 08:41:11 +00:00
Miikka Heikkinen
13c6e5df28 QmlDesigner: Support adding/removing/reparenting 3D scenes
3D edit view should now update correctly when 3D Nodes and View3D
items are added, removed, or reparented in the scene.

Deleting the active scene will change the active scene to another
existing scene.

Fixes: QDS-1591
Change-Id: Ib885453574e72f486a236264cc10d88cb872e9c7
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-04 13:22:53 +00:00
Miikka Heikkinen
3890bf4efb QmlDesigner: Add support for multiple views to 3D edit view
Any subtree of Nodes can be shown in 3D edit view.
Selecting any Node or their children, or View3D changes the
view in 3D edit view to the relevant scene.

Fixes: QDS-1494
Fixes: QDS-1565
Change-Id: I2d5a6f88bab2a20b74c347351235f79fb530519b
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-31 14:52:08 +00:00
Miikka Heikkinen
a35a2d6bf3 QmlDesigner: Fix far away gizmo scaling
Changed auto scaler math to use more double precision math to improve
scaling accuracy when camera is zoomed far or gizmo is far from origin.

Change-Id: Ic3020bbf159c0d5d090af9c9b8e8a4aa372d2406
Fixes: QDS-1528
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-31 11:48:14 +00:00
Alessandro Portale
08c606b882 Python: Add PySide 5.14 to the QtQuick application wizard
Change-Id: I03e93aa8bb72b48e93c196e56656e7f7321e33fe
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
2020-01-28 18:48:48 +00:00
Miikka Heikkinen
c9f90047ac QmlDesigner: Fix qml warning in edit 3D view
Change-Id: I736723a2acc896367760cf7137250d8d7d05ca91
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2020-01-27 08:54:53 +00:00
Christian Stenger
03ddc603cf Wizards: Split Application category
It lately became messy and it feels like it is
time to clean up these a bit.

Change-Id: I7b5da97cd7ad4231e28db13c98db16c656c8a6b0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-27 07:00:57 +00:00
Miikka Heikkinen
fd40bdd606 QmlDesigner: Use double precision to calculate ray-plane intersections
Float precision becomes issue when calculating ray-plane intersections
for gizmo hit detection when camera is very zoomed (in or out).
Do the critical calculations in double precision to mitigate the issue.

Change-Id: I8c33e17bf19d092e24ab19f8f8f2a54cd83304cc
Fixes: QDS-1526
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-24 08:42:31 +00:00
Miikka Heikkinen
495ebd0d3a QmlDesigner: Restore 3D edit view geometry on restart
Change-Id: I045c34033df2a8e3f39afc46c87803127dc8e978
Fixes: QDS-1352
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-23 08:55:58 +00:00
Alessandro Portale
676db89e03 QtQuickPrototype wizard: Set example importPaths to "asset_imports"
"asset_imports" is the default subpath where the QmlDesigner resource
importer will create QML modules with imported 3d assets.

Facitiltate the inclusion of these assets by having the asset_imports
directory as example importPath.

Change-Id: I6977ff2f2cc1c6d34f5def005bfef99313021ee7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-22 09:00:55 +00:00
Eike Ziller
bd5dae90ad Merge remote-tracking branch 'origin/4.11'
Conflicts:
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp

Change-Id: I5e424e34db619bb769c7abc1e8651b7b40210839
2020-01-20 09:59:27 +01:00
Miikka Heikkinen
ef95674378 QmlDesigner: Initialize 3D edit view tool state at initial show
Whenever the tool state of 3D edit view changes, creator is notified
to store the state. The stored state is then restored to 3D edit view
when it is restarted. The state persists only for the lifetime of the
creator.

Change-Id: I888b3ba82693a17a2f163924fbae1cfa27593890
Fixes: QDS-1351
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-17 14:57:44 +00:00
Alexandru Croitor
850ae600fb [lldb] Fix lldbridge.py to work in standalone lldb on macOS 10.15
Change-Id: I6220e426e3556d68dcb318d709f3573601c1aa96
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-01-16 09:38:16 +00:00
Orgad Shaneh
5872c60a45 Dumper: Fix syntax error
Change-Id: I8e611b1cb358872d9e0c7302ed8a4d3e0b7d9f3c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-01-16 08:41:59 +00:00
Orgad Shaneh
833d278dce QmlPuppet: Fix MSVC warning
implicit conversion changes signedness: 'QFlags::Int' (aka 'int') to 'const unsigned int'

Change-Id: I3d906ca079f3f25ceb1e3b8010f0540ae0236081
Reviewed-by: hjk <hjk@qt.io>
2020-01-15 08:10:42 +00:00
Orgad Shaneh
ba20c9134a QmlPuppet: Fix GCC warning
qt5informationnodeinstanceserver.cpp:115:71: warning: narrowing conversion of ‘keyEvent->QKeyEvent::modifiers().QFlags<Qt::KeyboardModifier>::operator QFlags<Qt::KeyboardModifier>::Int()’ from ‘QFlags<Qt::KeyboardModifier>::Int’ {aka ‘unsigned int’} to ‘int’ [-Wnarrowing]
  115 |         QPair<int, int> data = {keyEvent->key(), keyEvent->modifiers()};
      |                                                                       ^

Change-Id: I2f97e9ce11202cee386c2c6b4902c689e3411e30
Reviewed-by: hjk <hjk@qt.io>
2020-01-15 07:28:32 +00:00
Eike Ziller
1c37415604 Merge remote-tracking branch 'origin/4.11'
Change-Id: Ib47833b23e90c5f08b318d3d4985a4f3a450ee4b
2020-01-15 07:21:52 +01:00
Alessandro Portale
259ba4ef66 QmlDesigner: Fix CMake build of qml2puppet
qtcreator/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/
mousearea3d.h(60): Error: Undefined interface

Change-Id: I11d8709e8e347407a2499bdf4c72aaa7f41386f4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-01-14 18:32:55 +00:00
Miikka Heikkinen
5a4b0b565a QmlDesigner: Fix scale gizmo for child objects
As global space scaling is not supported, the scaling algorithm could
be simplified a lot. Now scaling gizmos work off the relative distance
along the scaling rod/plane instead of going through global space,
removing the need for complicated and error prone transformations.

Change-Id: Iaf0d5b2f31f10ae0b26b6a59b36e9ee4498838c9
Fixes: QDS-1269
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-14 13:57:18 +00:00
Miikka Heikkinen
e92bef2b62 QmlDesigner: Hide non-dragged planes of rotate gizmo in 3D edit view
To make things clearer, non-dragged planes of rotate gizmo are hidden
for the duration of the drag. This also hides the wobbling of the
gizmo during a drag when ancestors have non-uniform scaling.

Also corrects the resulting rotation by using dragHelper mouseArea to
lock the drag plane down for the duration of the drag.

Change-Id: I2dda2a78c78d5df62626c6b6c3ed3b18bac37933
Fixes: QDS-1331
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-14 11:09:57 +00:00
Miikka Heikkinen
58e2c3271e QmlDesigner: Add pivot point visualization line to 3D edit view
A line connecting the pivot point and object center is added to
3D edit view.

Change-Id: Ic265e9a3ab2895761cc92b94c778d68509ef36f1
Fixes: QDS-1474
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-14 11:09:38 +00:00
Christian Stenger
fefdbdfcd8 Debugger: Do not waste CPU when using LLDB
Fixes: QTCREATORBUG-23311
Change-Id: I5b1c40663c7977322e806af2e0393a3730e70049
Reviewed-by: hjk <hjk@qt.io>
2020-01-14 10:02:13 +00:00
Henning Gruendl
4a0da87a76 QmlDesigner: PropertyEditor Controls 1 cleanup
Change-Id: I52b83d50a99a7ff24718ed3d99f9ad7cb4415565
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-13 14:03:13 +00:00
Christian Kandeler
3703bf0006 qml2puppet: Fix build
Change-Id: Ied2160ab99109d2ab7d5e01b51da5da3f4e374ce
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-10 12:53:25 +00:00
Mahmoud Badri
4ec2650995 Fix dropping imported 3D objects on the Edit View 3D
- Imported 3D objects can be dropped correctly on the Edit View 3D.
  Non-3D objects are not allowed to be dropped (both imported and
  existing items like materials)
- corrected the issue that imported 3D objects were allowed to be dropped
  on the form editor while hovering.
- show invalid drop icon on the Edit View 3D if the item in non droppable.

Task-number: QDS-1445
Change-Id: I6de0f6ddd163ae57db6100832083c942b34bfdba
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-10 09:55:17 +00:00
Miikka Heikkinen
a793e96ed2 QmlDesigner: Fix single selection of multiselected light/camera
When a multiselected light/camera icon is clicked without ctrl pressed,
it now ends up as the single selection as it is supposed to instead
of clearing the entire selection.

Change-Id: Id785cc4cd4ed6100b9bde625e9ccb45646e43b7f
Fixes: QDS-1353
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-10 09:49:34 +00:00
Miikka Heikkinen
7ad96a967f QmlDesigner: Show 3D edit view gizmos at pivot point of node
Change-Id: I6eb6b2674868d9251e568249cfabc105d0c715d7
Fixes: QDS-1354
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-09 13:17:27 +00:00
Eike Ziller
0f30adcc8c Merge remote-tracking branch 'origin/4.11'
Change-Id: I949f4f63abe12e11c4598c98295bfccc82e0ebdb
2020-01-09 11:18:44 +01:00
BogDan Vatra
15734ac5eb QBS: Fix template for Android
CppApplication sets usesNativeCode for android which it's needed to compile the C++ part of the application.

Change-Id: Ibf787fecd256e4f90c09b8e3061a23419feb526e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-01-08 09:00:27 +00:00
Eike Ziller
69bcf7ca60 Merge remote-tracking branch 'origin/4.11'
Change-Id: Ica0d173a08ff3f0296e875aa324d5bb6974bd90f
2020-01-08 07:13:32 +01:00
hjk
dff4469baf Debugger: Use a more convenient way to create timing samples
Change-Id: I4ca983957c81a1f5f963a85b16a2d1b255b2cd2d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-07 12:14:27 +00:00
Henning Gruendl
c2c48598d4 QmlDesigner: GradientPreset cleanup
- Remove Controls 1 imports
 - Rework states
 - Utilize theme values

Change-Id: I2d7b818f450387ad0325aae41aac7f8c1b30ea5f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2020-01-07 11:59:13 +00:00
Henning Gruendl
887058f621 Fix compilation
Change-Id: I98fe164f32bbe8c65a76b853f12ce7765a1c0f7e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2020-01-07 11:56:52 +00:00
Mahmoud Badri
bb02ab161c Enable common keyboard hotkey actions for the Edit View 3D
Clicking undo, redo, delete, or save keyboard hotkeys while the Edit View 3D
has focus is working now.

Additionally this commit introduces a generic command for carrying any
variant data from puppet to creator side. This significantly simplifies
and avoids the boiler plate work of sending actions from puppet to
creator side. Current commands can be ported to use this generic
command but this is not part of this commit. Also a similar command to
work the other way around could be implemented.

Task-number: QDS-1266
Change-Id: I40fdf6b215ce77402250a791ea49cbdcd2a9d6eb
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-07 09:16:19 +00:00
Tasuku Suzuki
245a995389 Plugin template: use _iid macro instead of "org.qt-project..."
Change-Id: Ib3a10681f65ee5317cd2813deae2322a81aa75c6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-01-07 01:50:19 +00:00
Eike Ziller
b475817c7c Add GitHub build workflow to Qt Creator plugin wizard template
By default the workflow uses the Qt and Qt Creator version that the
wizard was triggered from. The user has to adapt these as needed.

Change-Id: I9dc38324756b571563fee64ddd3ed641f07a358f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-06 15:39:12 +00:00
Eike Ziller
8b143d5f5a Move Qt Creator plugin wizard to JSON
Change-Id: Ida52d0998739db76a1a1d61da9271d2989a27649
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-01-06 15:39:04 +00:00
Henning Gruendl
8687d65353 QmlDesigner: Remove tooltip dependency Controls 1
Task-number: QDS-619
Change-Id: I4e54ac43cd6d3052620a9e5ca48cf1fbc66c6181
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-06 14:45:27 +00:00
Henning Gruendl
91b491ffb9 QmlDesigner: Add error mode to ColorLogic
Task-number: QDS-1221
Change-Id: I95009dc3700f3e308280fadaea374e7ba6dfa08b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-06 13:25:45 +00:00