Commit Graph

41 Commits

Author SHA1 Message Date
Thomas Hartmann
a53238e91c QmlDesigner.qml2puppet: Fix build with Qt6
Change-Id: If02714c44946d0a87a28c2ed505f860a593aef79
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2020-10-05 13:49:46 +00:00
Miikka Heikkinen
90d9cb36f3 QmlDesigner: Add navigator preview tooltip for materials
Request 3D preview image for material instances from puppet
to show on tooltip.

Support for effect previews is also done, but handler for it is not
registered, as effects cannot be shared between windows due to
issue QTBUG-86616.

Also refactored the preview image support out of navigator
to make it more accessible by other components.

Change-Id: Ie08ba218f929660c2e43d39578997a5a1a883efd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-09-16 07:00:06 +00:00
Marco Bubke
0f9010d381 QmlDesigner: Introduce multiple node instance server
For capturing data we need a atomic mechanism. So in one
process multiple node instance server can be started and
then a command is send back that a scene is created. It
can be used to ensure that captured data of views is
up to date.

Task-number: QDS-2630
Change-Id: Iea8d0b036b6384c9c1b0f91af401f2b1f1978c12
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-09-11 08:57:42 +00:00
Marco Bubke
e43c7fdb1d QmlDesigner: Split messaging and process for puppets
This will make it easier to implement custom puppets. The new connection
manager will restucture the code and it add a mechanism to capture data
too.

Task-number: QDS-2529
Change-Id: I5d15c3303ef1c9a3e25ba197d350e0d561ce813a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-08-10 12:53:30 +00:00
Tim Jenssen
3db68b4aab qmldesigner: remove double command registration
Change-Id: Id37bea290c136d24551729a8edb36fab19b5bd7e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2020-06-05 14:41:32 +00:00
Thomas Hartmann
4896b60139 QmlDesigner: Add qRegisterMetaType for ChangePreviewImageSizeCommand
Change-Id: Ic399afc342a821f89c2559e0d2ebec942504ba61
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Michael Winkelmann <michael.winkelmann@qt.io>
2020-05-26 18:14:03 +02:00
Marco Bubke
2e79e1715b QmlDesigner: Fix crash for missing registration of ChangeLanguageCommand
Change-Id: Ieef35ef5daa19615375cc4c7b2b0b62667df7b67
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-05-26 18:12:19 +02:00
Mahmoud Badri
fb843d3442 QmlDesigner: Remove the standalone view3D window implementation
Task-number: QDS-1692
Change-Id: I6c04aaee9ab6a119cfcc22ee2e19b808bb95ae0a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2020-03-05 11:00:11 +00:00
Miikka Heikkinen
4908055937 Integrate Edit3D view into Creator
Edit3D view is now a tab alongside Form Editor.
Buttons were moved to a Creator side task bar on Edit 3D view.

Change-Id: Ia06107e4f855ba512ffea3e628a61558894e800e
Fixes: QDS-1570
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-24 12:18:53 +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
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
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
Mahmoud Badri
e5d4224fe4 Prevent the Edit View 3D restart upon closing
Also the 2D/3D action updates correctly according to Edit View 3D state.

Task-number: QDS-1385
Change-Id: I95d0994e9c56df25a2988eb9d27994268dd1903d
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-12-17 09:48:05 +00:00
Mahmoud Badri
f97de35dd4 Improve edit view 3D "on top" logic
- Proxy dialog removed
- When the QDS window is minimized/maximized, the edit view 3D follows.
  The opposite is not true (edit view 3D can be minimized separately).
- Edit view 3D is always on top of QDS window. Only exception is when
  a popup is shown (so that the user can handle the popup).
- External apps go normally on top of the edit view 3D.

Known (non critical) issues:
- Activating the edit view 3D doesn't raise() the QDS window, so if an
external app is on top of the edit view 3D then the view is clicked,
the external app will be in between the view and the QDS window.
- Closing the edit view 3D from the x button doesnt work (causes a
  restart). This is not in the scope of this commit.

Task-number: QDS-1179
Change-Id: I1dd72590037be295b94735de96772307ba14c59c
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-12-13 12:40:43 +00:00
Thomas Hartmann
880ab11e76 QmlDesigner: Use proxy dialog for 3D edit view
To integrate the 3D edit view in the qml2puppet process,
we create a dialog in the Qt Creator process.
This dialog acts as a proxy that manages the actual window.

For this I introduced a new command that allows showing, hiding, resizing
and moving of the 3D edit view.
The 3D edit view always follows the proxy dialog.

During moving and resizing we hide the window to avoid artefacts.

At this point in time the proxy widget is a dialog, but it could
also be a dockwidget or any other QWidget in the future.

Task-number: QDS-1179
Change-Id: I67ccab49eb2de9ba23098a67b2f9577f6c7fd3ac
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2019-11-28 13:09:51 +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
Thomas Hartmann
49379bfda7 QmlDesigner: Add and dispatch ValuesModifiedCommand
We already have valuesChanged() which notifies that a
property of the C++ QObject has changed.

This patch adds valuesModified() which notifies that values
in the data model should be changed.

While valuesChanged() only changes the so called instance value,
valuesModified() does change the internal data model and as
a result the QML code.
This is done in NodeInstanceView::valuesModified().

This enabled the qml2puppet to acutally change values,
like a property editor would.

Change-Id: I2493b9e626c4b194e332a7a096de3dbf2195514a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-21 12:47:28 +00:00
Thomas Hartmann
640044c8f8 QmlDesigner: Implement command for synchronising the selection
This patch implements the command and dispatchers for
synchronising the selection between Qt Creator and the qml2puppet.

Qt5InformationNodeInstanceServer::changeSelection() is called whenever the selection
is changed in Qt Creator.

Qt5InformationNodeInstanceServer::changeSelection() allows to change the
selection from the qml2puppet.

Change-Id: I73a64d8dc2a3f330433f966b42a10229cbbff649
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-21 05:52:13 +00:00
Tobias Hunger
38cce7eb83 Update License according to agreement with Free Qt Foundation
* Update all files in share folder

Change-Id: I8a82c3eb2eb614d4339dd4c4e690f54b5f29d813
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-01-19 16:05:29 +00:00
Alessandro Portale
374f84acc7 Qt Quick Designer: License change to Qt Commercial + GPLv3
Change-Id: I7f7aecd02892b6c616cd148fa5d845e7bc0d3b4f
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-09-18 12:12:57 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Marco Bubke
59e4bc9112 QmlDesigner: Add PuppetAlive command
The puppet can be dead but we don't now. Now the puppet is sending a alive
signal. If the signal is not arriving anymore we restart the puppets.

Task-number: QTCREATORBUG-12434
Change-Id: I90edab6a45f95950fd764adcb125068659d5354b
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
2014-06-18 15:00:12 +02:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Marco Bubke
07222ba46a QmlDesigner: Refactor enumeration handling
Change-Id: I0e163147a0303741af52127ece6f6afd0d2aa658
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-12-16 12:55:06 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Marco Bubke
4f2ceefeff Add debug output command
Adds a infrastructure to get text information back to the client.

Change-Id: Ie5b92f875fe4cbd5f5a8e4d60a797efa0e5cbf70
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-11-21 14:12:07 +01:00
Eike Ziller
6fd252b0a5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessageloghandler.h
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemodeployconfigurationwidget.h
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentinfo.h
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/ichecklib_global.h
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h
	tests/manual/ssh/tunnel/tunnel.h

Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Marco Bubke
1bd4795524 QmlDesigner.NodeInstances: Fix type registration
Change-Id: I571812c88b323e339f5b4c068f8027d9217da64c
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
(cherry picked from commit 9e7a8e4118)
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
2012-09-27 09:49:45 +02:00
Marco Bubke
da7c6fb8a3 QmlDesigner.Instances: Fix type registration
Change-Id: I85378c0a2884a7c8886482f38bad24210ef33d69
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
(cherry picked from commit d8d862f261)
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
2012-09-27 09:49:32 +02:00
Marco Bubke
9e7a8e4118 QmlDesigner.NodeInstances: Fix type registration
Change-Id: I571812c88b323e339f5b4c068f8027d9217da64c
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-09-25 16:18:25 +02:00
Marco Bubke
d7bd46dbe6 QmlDesigner.NodeInstances: Add end puppet command
Change-Id: Ice3c6ce1bb0d16d4ffbc33557b12fa147ac6058c
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-09-25 14:03:33 +02:00
Marco Bubke
d8d862f261 QmlDesigner.Instances: Fix type registration
Change-Id: I85378c0a2884a7c8886482f38bad24210ef33d69
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-09-24 11:46:28 +02:00
Marco Bubke
ce9b7bf123 QmlDesigner.NodeInstances: Shared memory for value changes
Change-Id: I3c3455f411f18322a062f144e98461691d12ada8
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2012-09-11 15:41:41 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Marco Bubke
765ba3b4b9 QmlDesigner: Prevent item hoping for reparenting
Because of the asynchronous nature of the formeditor the item can be between
to states. This looks like the item is hoping around. To prevent this a token
is sent to the instances and back. For the time frame the painting is disabled.

Change-Id: If7e937cba8171248464ad350bb14438c020b25f9
Reviewed-on: http://codereview.qt.nokia.com/1189
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
2011-07-06 18:19:28 +02:00
Marco Bubke
8fe3302329 QmlDesigner.NodeInstances: Move qmlpuppet to share
Change-Id: Id50d8c6130e9d5169a74015bc24e84de64eabfa7
Reviewed-on: http://codereview.qt.nokia.com/634
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2011-06-22 18:24:36 +02:00