Commit Graph

7806 Commits

Author SHA1 Message Date
Miikka Heikkinen
20257e1e4f QmlDesigner: Implement RotateGizmo for 3D edit view
Added a gizmo for rotating selected object either freely or locked
around X, Y, Z, or camera axis.

Change-Id: Ib43c7dd3fc0f49f384d5920fce21ea932c4fc90d
Task-number: QDS-1196
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-18 08:39:16 +00:00
Christian Stenger
61fa3e8704 Wizards: Fix Qt Quick2 Extension wizard
Show kits selection page already while configuring
the project via wizard instead of falling back
to the target selection after the project had been
opened.
Regression with 6c9f75ff4a.

Change-Id: I9bf70f306dde3a570ab4ca3e4380040d6c6e4e23
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-11-15 12:00:10 +00:00
Henning Gruendl
a48497d663 QmlDesigner: Fix filename spelling in qrc
Change-Id: I90fb27156d51ad5160b57ea476017a17dc757043
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2019-11-13 10:50:49 +00:00
Aleksei German
5bb0298f69 QmlDesigner Add Binding Editor support to States
Change-Id: I3ccce5e2bfbbfa0dfba1e438d527fa18348005b5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-13 10:24:54 +00:00
Henning Gruendl
d9981135c1 QmlDesigner: PropertyEditor TextSection cleanup
Change-Id: I042f38303aad016d939a39c7a638d330fca2ba58
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-13 10:14:42 +00:00
Mahmoud Badri
8722836b44 Implement EditView3D's toolbar
Move and scale shortcuts are temporarily set to (M) and (T) instead of
(W) and (R) to avoid interference with the WASD RF controller

Task-number: QDS-1201
Change-Id: Ia7ebb6c0d39880be6b87b12d0a4a1d16638fd141
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-13 10:12:33 +00:00
Thiago Macieira
5390607019 Add QDataStream operators for ValueModifiedCommand
Qt 6 does not accept implicit downcasts.

Change-Id: Iad959315ad374ef288f5fffd15d68b67304880cd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-13 10:05:59 +00:00
Christian Stenger
bcde926257 Debugger: Stop cleanly after post mortem debugging
..instead of trying to start over. Starting over may work
but may also end up in strange issues which must get
handled on the user site otherwise.
Especially relevant for pyside projects that are using
QApplication and similar where the old application
instance has to be destroyed before another one can be
created.

Change-Id: I6af132da8499ef4ed983491cdc423fa73ea9ba32
Reviewed-by: hjk <hjk@qt.io>
2019-11-13 05:42:19 +00:00
Lucie Gérard
a6ad0cfff7 Correct generation of header file for translation
Change-Id: I5571b14dfb438c5caaa211308b9255c61959e5de
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-11-12 14:17:25 +00:00
Christian Stenger
49930aa5f9 Debugger: Improve pdb debugging
When a script used __file__ to refer to other
files by constructing relative paths it ended
up trying to use a file relative to the pdbbridge
instead the original python file.
Fix this by bringing the bridge closer to the
original pdb code.

Change-Id: I22dda440c78349bfd3dcf4ce748042cc77eb4bee
Reviewed-by: hjk <hjk@qt.io>
2019-11-12 12:36:45 +00:00
hjk
0120e462b2 Partial compile fix for current Qt dev and/or Qt 6
This does not cover Utils::MapReduceOption with QVector, and code
that's not compiled on my machine.

Change-Id: Ib63923985c52b1bb74e5ec2068a2bb37469ac618
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-11-12 10:50:51 +00:00
Eike Ziller
817f81cbfd macOS: Force shell to a supported shell in Terminals opened from Qt Creator
The whole logic (setting up environment, run interactive or non-interactive shell)
is specific to the shell. So force Terminal to use one of the supported ones.
Currently that is zsh and bash.

Fixes: QTCREATORBUG-21712
Change-Id: I83057dd92c5c976f9f5d6f4faf0f596a75d58293
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-12 10:29:31 +00:00
Mahmoud Badri
5df7ad94ec Implement DnD 3D objects from the item library to the EditView3D
Proof of concept drag and drop implementation. Basic functionality
working but needs polish.

Task-number: QDS-1132
Change-Id: Ie3b9e80de9a414c4955d6e38daf338045bc1e614
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-12 10:00:34 +00:00
Eike Ziller
646c7860cb Merge remote-tracking branch 'origin/4.11'
Conflicts:
	src/plugins/genericprojectmanager/genericprojectplugin.cpp
	src/plugins/projectexplorer/environmentaspect.cpp
	src/plugins/projectexplorer/environmentaspect.h
	src/plugins/projectexplorer/environmentaspectwidget.cpp

Change-Id: Id21d62cf14419febd1e06c9b429fcdf4501c0eaf
2019-11-11 12:58:11 +01:00
hjk
62636b270d Qml2Puppet: Compile fix
Add missing #include. Amends db7087225d.

Change-Id: I8d9147fb788ee47b37dac9f347a6828250eec1e0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-11-11 09:43:33 +00:00
Miikka Heikkinen
db7087225d QmlDesigner: Implement camera frustum visualization for edit 3D
Task-number: QDS-1208
Change-Id: I3241fcdc68d01666a2536df32f170cd898cbd7af
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-11 08:44:16 +00:00
Henning Gruendl
25fec203bc QmlDesigner: Forward ComboBox TextInput
Change-Id: I22b0992808b2a39de1baa45452351099b7d78ba0
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-08 14:43:26 +00:00
Eike Ziller
f9c03f23c4 macOS: Fix opening and running in terminal with zsh
We need to read different startup files for zsh.

Task-number: QTCREATORBUG-21712
Change-Id: Id10b185e3957b44423e847114adc1b3085a8089d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-08 14:40:30 +00:00
Miikka Heikkinen
e2a4d82713 QmlDesigner: Fix 3D edit view light
The default point light is very dim as it has quadratic fade.
Explicitly set fades to zero to make sure edit light is always bright.

Change-Id: I67e3ba0905c2d907d660320c1510556fb3ea5de3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2019-11-08 12:55:19 +00:00
Miikka Heikkinen
54a3620339 QmlDesigner: Remove workaround for buggy DisableCulling
QTBUG-79768 has been fixed, so the workaround can be removed.

Change-Id: I649f295cacb8b1b87def58087cd60c7f62dc47c1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2019-11-08 12:55:03 +00:00
Miikka Heikkinen
862b7fa35c QmlDesigner: Add planar move and scale handles to gizmos
Change-Id: Icae60ec35fc84d731243a005e97b174fa9a94815
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2019-11-08 12:54:06 +00:00
Miikka Heikkinen
c67965fb29 QmlDesigner: Add ScaleGizmo to 3D edit view
ScaleGizmo allows scaling in the direction of local or global axes,
as well as uniform scaling. Any scale component cannot be made
negative with ScaleGizmo.

Change-Id: I9b98d9593e07ded340178b07b73fa1b72421ba20
Fixes: QDS-1195
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2019-11-08 12:53:21 +00:00
Eike Ziller
e6060d19d7 macOS: Environment with 'Open Terminal Here'
Regression introduced with 8b4344f2a2

Change-Id: Ic839a6151e2b5fb06c8a685f5b5097d5d6894bbe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-07 13:46:22 +00:00
Miikka Heikkinen
fbe83ceba5 QmlDesigner: Fix 3D edit view after Quick3DAPI changes
Use importScene property instead of scene.

Change-Id: I863e9233da9806952f539eef25fe1f166b3b8e37
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-05 08:44:00 +00:00
Filippo Cucchetto
c75c4b2d0e Nim: Add support for the nimble build system
Change-Id: Id3bd977f14bc9d2ec3fa92e162238bbff0513de1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2019-11-04 16:35:13 +00:00
Eike Ziller
04bd6e39c8 Merge remote-tracking branch 'origin/4.11'
Conflicts:
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp

Change-Id: I8ea57eba526ab830608fd928c28771c5441749f8
2019-11-01 15:31:19 +01:00
hjk
2e5e3daff6 QmlPuppet: Avoid warning about unused argument
Change-Id: Icad7539983655a3107cdca93b83e33aa6682e176
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-01 08:49:25 +00:00
Miikka Heikkinen
97788c457e QmlDesigner: MoveGizmo improvements in 3D edit view
Mouse press and release are now properly handled by MouseArea3D.
This fixes various issues:

- No need to move the mouse after release for release to register.
- Drag is no longer limited to the 3D edit window, though it is still
  limited to the screen.
- Drag arrows no longer register start of drag if you click outside
  the arrow and then move the cursor over the arrow while holding the
  mouse button down.

Also added the missing center ball to the MoveGizmo to allow free
dragging along the camera plane.

Change-Id: Iab55ae79f8af024534510e5fd29379532ac74025
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-11-01 08:49:12 +00:00
Thomas Hartmann
c66e96a840 QmlDesigner: Define explicit values for enum class
Change-Id: Iba4dec251ac41c414c51757b2f3e6e94d1aa2ccd
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-11-01 08:38:09 +00:00
Henning Gruendl
48997e3ceb QmlDesigner: Replace UrlChooser button icon
Change-Id: I3cd84986ea77701a5d786bd7ee8115cda3df8185
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-30 15:10:54 +00:00
Thomas Hartmann
17dbc74cca QmlDesigner: Avoid reflection when setting values from puppet
When editing values in the puppet we did not take reflection into account.
This means that any changes we did from the puppet for notified back
from Qt Creator. Since those notifications are asynchronous this leads
to various issues especially when more than one axis (property) was modified
at once.

This patch avoids reflection. The notifications are 'flagged' and then
ignored in the Qt5InformationNodeInstanceServer.

While a node is moved we ignore any changes to that specific node.

Task-number: QDS-1191
Change-Id: Ic74e22ea71832ce12321f9085a7296c2a7d9893d
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-30 09:46:35 +00:00
Miikka Heikkinen
519fc4ec72 QmlDesigner: New arrow mesh for edit3D view
Change-Id: Iefe2de026fc386ed910949a98a0157bd59d8e62b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2019-10-30 08:40:33 +00:00
Henning Gruendl
f15a323663 QmlDesigner: Add align and distribute feature
Change-Id: I99c57036c25e4aaf73f2c6014523da5da9d3cd21
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-10-29 18:56:27 +00:00
Miikka Heikkinen
47f54dd101 QmlDesigner: Add camera and light gizmos to 3D edit view
A small icon and a placeholder mesh are displayed at the location of
the lights and cameras in the scene, to provide a way to see and
interact with them.

Change-Id: I1f90fce77a643cab2c3fda3ee2105af53dea57a9
Task-number: QDS-1177
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-29 12:57:06 +00:00
Christian Kandeler
d3e6fa0f2e QmlDesigner: Fix some warnings
Change-Id: Ice9c29409b53457c20cef272b6a5dd6feb97adb3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-29 11:35:38 +00:00
Thomas Hartmann
6b17cd91a6 QmlDesigner: Use transactions in 3D Edit View
We send a ValuesModifiedCommand 'immediately' when the item is moved.
This means the 2D form editor and property editor update
while moving nodes in the 3D edit view.
The updates are 'compressed' by 100ms. This is to avoid performance issues.
The timer could be reduced to 50ms or even 10ms, but 100ms feel
acceptable at least for me.

The code was a bit refactored.
Qt5InformationNodeInstanceServer::modifyVariantValue() can be used later
to update other Vector3D based properties like rotation and scale.

There is one issue left. MouseArea3D emits 'onReleased' only after the
mouse is moved again. This delays the 'commit' of the transaction which
is annoying and can triggers bugs.

Change-Id: I834a1e2658278ff8dd39678f39e51735dee91b65
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-28 10:58:35 +00:00
Thomas Hartmann
7b2b040f41 QmlDesigner: Add transaction option to ValuesChangedCommand
This option allows to define transactions for
ValuesChangedCommand and ValuesModifiedCommand.

Change-Id: Ia603027b5c431f1a1912d8959561f92a19fd0243
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-28 08:56:42 +00:00
BogDan Vatra
e3904f3b13 CMake: Add Android Multi ABI support
Change-Id: Ia5b3fcda29705fefca85833ebc28b4154defba5f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-28 05:47:53 +00:00
Mahmoud Badri
afd22a75c1 Update EditView3D when selecting a 3D object in the navigator
Task-number: QDS-1124
Change-Id: I8d7bf73612b07592cd9beb85a5249895a400316b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-27 20:44:53 +00:00
Thomas Hartmann
e572777776 QmlDesigner: Fix setting position from qml2puppet
Change-Id: I1348fa3d761be7b185d5324a73e8cdd543be50e9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-25 14:52:15 +00:00
Miikka Heikkinen
baced09bc7 QmlDesigner: Fix edit view issues caused by quick3d api changes
Change-Id: I4bb110ff4693c57089f659e0f125c9f89c6bdb9c
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-25 12:24:04 +00:00
Miikka Heikkinen
0de98aa240 QmlDesigner: Add overlay display to show position in 3D edit view
When dragging using move gizmo, a label is displayed that shows the
current position of the selected object.

Change-Id: I2e03b363ce9dcb975bcfe198ffae2e98024d74c8
Fixes: QDS-1129
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-25 08:12:28 +00:00
Mahmoud Badri
b83b93fb7f Make 3D objects pickable
Mark 3D objects implicitly pickable upon initialization so that they
receive mouse clicks without having to declare the pickable property
in qml.

Task-number: QDS-1124
Change-Id: Ib8ec5415097c1a9bf57b8965a3fca0c3665f3732
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-25 07:55:40 +00:00
Miikka Heikkinen
1fe204565a QmlDesigner: Add support for move gadget to 3D edit view
This proof-of-concept move gadget is based on the move gadget
in studio example of QtQuick3D.

Change-Id: I1b596443a3e99c16ed214bc464c5367a0f7aa503
Fixes: QDS-1125
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
2019-10-25 07:51:09 +00:00
Mahmoud Badri
1641ad625e Deselect all objects when clicking an empty point in the 3D edit view
Task-number: QDS-1124
Change-Id: I5a9ed39a69c467de27dd7c4564d53b7bf033dd92
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-24 11:16:06 +00:00
Mahmoud Badri
3c78d4d74d Enable object selection in the 3D edit view
Clicking an object in the 3D object selection view, selects it in the
creator side. Multiselection (i.e. Ctrl+click) is not implemented yet.
Also selected object is not highlighted in the view yet.

Task-number: QDS-1124
Change-Id: I0b10162539ecedc40ed117896e385975c52b04a9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-24 09:07:38 +00:00
Thomas Hartmann
9469432035 QmlDesigner: Add Qt5InformationNodeInstanceServer::modifyProperties()
This method allows to modify properties in the data model from
the puppet. For performance reasons, properties should be modified
in bulks. Each bulk will be one step on the undo stack.

Change-Id: I7dbef02781706c8638981512ca0ec45d24c54545
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-24 08:22:11 +00:00
Thomas Hartmann
07573de102 QmlDesigner: Do not crash if EditView3D contains errors
EditView3D.qml can contain errors, most likely because
of QtQuick3D updates.

Change-Id: I85879d9079ba8771a2af4478ba2e4e63a6aa9223
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-23 13:23:21 +00:00
Miikka Heikkinen
4eb51a66ac Fix light type in edit view
Light component was split into three different light types in Quick3D.

Change-Id: I409dc4888b389bcb9b8e842f3a6bfeac34f3aaa0
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2019-10-23 07:35:22 +00:00
Thomas Hartmann
60bb13efbf QmlDesigner: Use DesignerWindowManager when reading stream
Without the DesignerWindowManager QtQuick3D items will crash.

Change-Id: Ib4057d581143aed860fa120ab189e11076d1f531
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-10-23 07:16:51 +00:00