Commit Graph

30 Commits

Author SHA1 Message Date
Miikka Heikkinen
ac1af9a582 Implement texture context menu
Apply to selected model/material, delete, duplicate, and
create new options are available in the menu.

Fixes: QDS-8342
Change-Id: Ib9bdc1738500a87361000bcd3e89403e3b8ccef8
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-11-22 10:44:36 +00:00
Miikka Heikkinen
e3a817ec77 QmlDesigner: Hide or disable material browser and editor if no library
If material library is missing, material browser and editor UI should
be disabled, except for material editor main pane in case of root
material node.

Change-Id: I3d2bd545de0649fb90d3fe1f751d46b7c7054bbf
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-11-22 10:05:55 +00:00
Eike Ziller
b402f35481 Merge remote-tracking branch 'origin/8.0' into 9.0
Conflicts:
	doc/qtcreator/src/qtquick/qt-design-viewer.qdoc
	src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
	src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp
	src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
	src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp
	src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
	src/plugins/qmldesigner/designercore/model/abstractview.cpp
	src/plugins/qmldesigner/designercore/model/import.cpp
	src/plugins/qmldesigner/designercore/model/model_p.h
	src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
	src/plugins/qmlprojectmanager/qmlproject.cpp

Change-Id: I4236bf0da9306abf201f4679259e72dd7c1eddbe
2022-11-01 15:38:49 +01: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
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
Miikka Heikkinen
f496970002 QmlDesigner: Don't copy/remove data property when copying all
'data' property contains node's children, so it should be ignored
during the 'copy all properties' operation.

Change-Id: Ib056409c9ad0a42ebc40f751173b7a3455d912c6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-10-21 10:58:50 +00:00
Eike Ziller
ea5a050c5c Merge remote-tracking branch 'origin/8.0' into 9.0
Conflicts:
	src/plugins/mcusupport/mcusupportsdk.cpp
	src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp
	src/plugins/qmldesigner/components/materialbrowser/bundleimporter.cpp
	src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp

Change-Id: I9317da0fc1243b9ce6d87f577aa843c51f132ad7
2022-10-18 10:48:46 +02:00
Miikka Heikkinen
b8f4cd97d1 Fix copying dynamic properties on materials
Fixes: QDS-7803
Change-Id: I24c8cd269965552a62fbbbc521efbff00811fa43
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-10-10 13:53:03 +00:00
Tim Jenssen
964f539e55 Merge remote-tracking branch 'origin/8.0' into 9.0
resolved conflicts:
* doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc
* src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp
* src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
* src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp

and compile fix in materialbrowserview.cpp

Change-Id: I686e7e93ded8ac1afc792942ded47cd9fe4341ed
2022-10-04 13:44:42 +00:00
Miikka Heikkinen
d238c50399 QmlDesigner: Store current value at material property copy
Now we store the current value of copied properties at copy time
instead of just storing a reference to copied property. This ensures
we paste the correct value.
When copying all properties, properties set by base state,
current state, and active timeline are copied.

Fixes: QDS-7804
Change-Id: Id6315dde96b30304fde007a87da578faaab43233
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-09-30 09:03:56 +00:00
Miikka Heikkinen
07ab73fe7f QmlDesigner: Disable paste option for the original material
Fixes: QDS-7526
Change-Id: Ifdc220685a4881dc3a397d9148022b9be7b5032a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-09-27 08:51:21 +00:00
Eike Ziller
7eaa36e6e5 Merge remote-tracking branch 'origin/8.0' into 9.0
Conflicts:
	src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
	src/plugins/qmldesigner/designercore/imagecache/meshimagecachecollector.cpp

Change-Id: I38f196e8f42cf11f7b613e7a723745600e35c5e9
2022-09-27 10:03:37 +02:00
Miikka Heikkinen
061ae8b02c QmlDesigner: Delete material properly via material browser
Deleting is now made the same way as deleting a selected node, so
dangling references to the deleted material are removed.

Fixes: QDS-7716
Change-Id: I552c328eb928bfc20e3e33caa0e817f6d22162cc
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-09-22 10:26:55 +00:00
Eike Ziller
3011548066 Merge remote-tracking branch 'origin/8.0'
Conflicts:
	src/libs/utils/deviceshell.cpp
	src/plugins/clangcodemodel/clangdclient.cpp
	src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
	src/plugins/remotelinux/linuxdevice.cpp

Change-Id: Idc2edf428c98e9cbc891f1833b271ce2def9a835
2022-09-21 11:16:29 +02:00
Mahmoud Badri
d9f07e95b5 QmlDesigner: Implement material bundle frontend
Fixes: QDS-7500
Change-Id: I60c512bb7664d13160f8c58ce063e1e87b6875ee
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-09-20 12:30:47 +00:00
hjk
de57a63609 QmlDesigner: Compile fix with current Qt dev
Change-Id: I36fc5871193b600ed4576b14dd1aa141140f30d0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-30 12:36:55 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Eike Ziller
c6c92ec096 Merge remote-tracking branch 'origin/8.0'
Conflicts:
	src/libs/qmljs/qmljsmodelmanagerinterface.cpp
	src/plugins/clangcodemodel/clangdclient.cpp
	src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp
	src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
	src/plugins/qmldesigner/designercore/include/modelnode.h
	src/plugins/qmldesigner/designercore/model/modelnode.cpp
	src/plugins/qmldesigner/designercore/model/rewriterview.cpp

Change-Id: I93c57879b79f27325321bfc045ca618bd835af93
2022-08-26 08:40:23 +02:00
Mahmoud Badri
86d1526564 QmlDesigner: Fix propertyGroups.json warning for 2D projects
Load property groups file only if Quick3D import exists

Change-Id: Idf7b95cb4efa34dde6196964e5e2cbad54341193
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-08-22 13:23:27 +00:00
hjk
70089a8701 QmlDesigner: Fix compile fix
Amends 82a010f67a.

Turns out that 04dc959d49e5e3 in Qt 6.4 introduces a source
incompatibility intentionally.

Use 'auto' to cover old and new behavior.

Change-Id: I4cf69393e0c1a483261b3f283b6bce97f664e3ce
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-22 09:26:24 +00:00
hjk
82a010f67a QmlDesigner: Compile fix
Amends 2d86c290ce.

Change-Id: I26fc5871193b600ed4576b14dd1aa141140f30d0
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-08-22 08:16:17 +00:00
Mahmoud Badri
2d86c290ce QmlDesigner: Implement copying specific material properties section
Change-Id: I34bed00c89018e86941c4e5a7ddeae44c06f850d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-08-18 15:11:18 +00:00
Miikka Heikkinen
2e8574bd76 QmlDesigner: Add scene root material support to material editor/browser
If the scene root item is Material subclass, material library is not
created for the scene. Material editor and browser functionalities that
relate to having material library are disabled.
Material editor will always show the material that is the scene root.

Fixes: QDS-7374
Change-Id: Icd1c212c17b59e4a2caa6b3b4d7e615e68b21eb9
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-08-18 11:10:04 +00:00
Mahmoud Badri
d4cc3fddc9 QmlDesigner: Implement copy/paste material properties
Fixes: QDS-7014
Change-Id: I2a8b779f97de353836a4d506b715720b490c349f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-08-18 09:12:10 +00:00
Mahmoud Badri
ec565eea99 QmlDesigner: Allow deleting materials using the delete action
Fixes: QDS-7012
Change-Id: I5eb03971d33a997fc1463ec4ee70eb33a730a897
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-08-17 13:11:58 +00:00
Miikka Heikkinen
221376aa38 QmlDesigner: Reset puppet when material is added
This is workaround for material rendering issues in quick3d when a
material is shared by multiple windows.

Fixes: QDS-7096
Fixes: QDS-7118
Change-Id: I64fe2e51c5dda8e238502e5d926b6938b7b0731a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-06-16 13:54:41 +00:00
Mahmoud Badri
0b51afe21d QmlDesigner: Implement "duplicate material" feature
Fixes: QDS-7013
Change-Id: I28a11dbd9d6586631c0edcf8003e551917eaac98
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-05-27 11:20:48 +00:00
Mahmoud Badri
917ae81ce6 QmlDesigner: focus material browser upon open
When clicking the open material browser button in the material editor,
focus the material browser window if it is already open. Also do the
same when opening the material editor by double clicking a material
in the material browser.

Fixes: QDS-7006
Change-Id: If64d1ff6595dea5e33771485622322df708405d9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-05-24 13:10:42 +00:00
Mahmoud Badri
71e553f497 QmlDesigner: Disable apply material to selected when no selection exist
When there is no valid model selected, disable the "apply to selected"
actions in the material editor and browser.

Change-Id: Id8e771c64e69c0ba2f42dff01d19ffbf4afafb77
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-05-24 13:01:20 +00:00
Mahmoud Badri
f09d4538e7 QmlDesigner: Implement Material Editor
Task-number: QDS-6438
Task-number: QDS-6439
Change-Id: I04e899a68aea665f0df8b65e21523632174ec76b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-05-23 16:44:02 +00:00