Commit Graph

64 Commits

Author SHA1 Message Date
Mahmoud Badri
0b79db5c17 QmlDesigner: Close section's context-menu on view focus out
When clicking outside any view that has sections and a section's
context-menu is visible, it is now closed.

Fixes: QDS-9564
Change-Id: I73cd3a9754c5a18360427525a2a943c2c549e83f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2023-03-30 07:31:24 +00:00
Tim Jenßen
feabda3aa7 Merge remote-tracking branch 'origin/10.0' into qds/dev
bigger conflicts resolved at:
  src/plugins/qmldesigner/CMakeLists.txt
  src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I08e2a109d8e37cbd77225129854e9e633725bfc7
2023-03-26 16:26:18 +02:00
Miikka Heikkinen
15ebc22aeb QmlDesigner: Allow setting Section category
Section collapse all and expand all functionalities are controlled via
a singleton instance. Since multiple views are now sharing QML engine,
they also share this controller singleton. Therefore it is necessary
to allow user of the Section to specify which category the section
belongs to, so that invoking expand all from one view doesn't
expand sections in another view, but only sections in the same
category.

This also allows fine tuning which sections are grouped within a view,
which was not possible previously.

Fixes: QDS-9248
Change-Id: I0a1c870e6746580255a02f91d590eb80ce6ebcbe
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 08:34:54 +00:00
Thomas Hartmann
f47d5c77d2 QmlDesigner: Use StudioQuickWidget in material browser
The event filter has to be installed on the actual QQuickWidget.
Using registerPropertyMap instead of global context properties.

Task-number: QDS-9124
Change-Id: Ic4d26081bb10b4cb4c8cca7050180feb1c081664
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-09 09:49:18 +00:00
Miikka Heikkinen
c78c4817cd QmlDesigner: Fix asset drag to material browser
Drag now correctly accepts only assets that can be used as textures.

"selected_texture_changed" custom notification was used in two
semantically slightly different cases, both to indicate selected
texture had changed and that selection should change, which was little
confusing. Split the two cases to separate custom notifications to
clarify the situation and allow "select_texture" to be handled in
material browser even if it sent it. This fixes the issue of newly
added texture not getting selected after drag, because creation was
done by material browser view.

Similar issue was fixed with "selected_material_changed" as well.

Also fixed a couple of cases of drag not being properly ended.

Change-Id: Ie1cae01ef13b687d9e611ac1c91443688001fe49
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-03-07 09:30:08 +00:00
Miikka Heikkinen
26e2342e24 QmlDesigner: Don't change focus on expand when focus is in search box
This is to avoid search box focus loss if search autoexpands sections.

Fixes: QDS-9259
Change-Id: Ief99643d52413fe83d4b5ac5ea3438d6116d64c7
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-24 14:41:49 +00:00
Samuel Ghinet
192ac5db61 QmlDesigner: Allow dragging image Assets to the Material Browser
When dragging an image from the Assets Library to the Textures section
of the Material Browser, now Textures will be created from those
assets.

Task-number: QDS-8783
Change-Id: Ibbfb8697705a7d1af7714f3a32caff24282ee7a9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-24 12:45:06 +00:00
Henning Gruendl
383315b64a QmlDesigner: Fix DoubleButton state
Fix an issue that appears when pressing the button and moving away from
it but still hold the mouse button down.

Change-Id: I06b456e410352862ea28f04e7cfaf3bdb27ae7d4
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-02-24 09:16:11 +00:00
Miikka Heikkinen
d39f469e51 QmlDesigner: Fix focus issues in material browser
Fixed focus loss on context menu close.
Fixed an issue with main view also handling cursor and enter keys when
editing material name.
Expanding a section now focuses the expanded section.
Dragging items from content library now focuses correct section.

Fixes: QDS-9215
Change-Id: I2176c7e52d8855c547db426b55ab739ca8f1db06
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-23 12:38:29 +00:00
Henning Gruendl
5020398865 QmlDesigner: Fix SearchBox resizing
Task-number: QDS-9236
Change-Id: I326ac238bf9a0a8f519a32fb9fc1c9ac6da15cb4
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-22 15:02:01 +00:00
Brook Cronin
0d8c76e853 QmlDesigner: Add double button to material browser
Change-Id: I5dda141374b2804bab009359b1826aea9ba16e31
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-21 15:08:18 +00:00
Miikka Heikkinen
5248922e0e QmlDesigner: Focus the content widget of the dock when focusing tab
When DockWidgetTab or DockWidget is focused, typically user actually
wants to focus the content widget, so we now do that.
Focusing content widget is done asynchronously to avoid complications
from doing another setFocus in middle of setFocus handling.

Fixes: QDS-9104
Change-Id: I569639c2f36f0721aafcdcab3498c875e98993a9
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-02-17 16:28:30 +00:00
Mahmoud Badri
0fb12133bb QmlDesigner: Fix drag reset animation after drop on mac
Fixes: QDS-8933
Change-Id: Iab88c996c98e2f1eb01c0282445409411226ff95
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-02-17 15:25:54 +00:00
Miikka Heikkinen
020db8f8e8 QmlDesigner: Autoexpand material browser sections on search
Also refactors ensuring visibility of selected item as the old way
broke when searching.

Fixes: QDS-9109
Change-Id: I87e45ff04a32e4de0adb7029cdfa47b058fa0f61
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-17 15:21:58 +00:00
Miikka Heikkinen
0a2e1731a1 QmlDesigner: Scroll material browser on selection change
When selection changes in material browser, the browser grid is
scrolled so that the selected item is visible.

Fixes: QDS-9010
Change-Id: Ie6f4383b0c8add2965fc42ffdf740effdf02fa67
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-17 10:03:04 +00:00
Miikka Heikkinen
0fd152e37f QmlDesigner: Fix mouse cursor for material browser search field
The focus grabber mouse area was interfering with mouse cursor on
controls under it. There is no need to have grabber cover the search
box, as clicking search box anyway moves focus.

Task-number: QDS-9163
Change-Id: Ie2487296914a893dfc658ff8178963233a50c467
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-16 12:09:00 +00:00
Henning Gruendl
fbb79bb4e4 QmlDesigner: Fix SearchBox related QML toolbars
Change-Id: I88962fe48acd4345c29233cb00f72ec2ac6b6ca9
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-02-15 10:59:03 +00:00
Brook Cronin
9799e9588a QmlDesigner: Add toolbar to material browser
Change-Id: I7be59839c8260b6b66127ca2e0708f5a804ee94f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-10 15:04:36 +00:00
Miikka Heikkinen
8237236b1b QmlDesigner: Treat enter key as doubleclick in material browser
Open and/or focus material or texture editor on enter key press on
material browser.

Fixes: QDS-9106
Change-Id: I55bd6143c3285f2fbcfa093063e84747b96590c9
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-10 14:11:15 +00:00
Miikka Heikkinen
ce69374170 QmlDesigner: Fix keyboard navigation in material browser
Keyboard navigation now accounts for collapsed sections and
items hidden with search filter. Also, navigation is suppressed
while search box has focus.

Fixes: QDS-9108
Change-Id: I9fb555803cd72fb3550d5e30e20c62a40f845ef3
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-02-10 13:43:22 +00:00
Mahmoud Badri
cae28d82d3 QmlDesigner: Fix material browser wrong scrolling after drag-n-drop
The actual bug is somewhere deep in the Qml ScrollBar's implementation.
The workaround is to disable the scrollbar while dragging is on.

Fixes: QDS-7849
Change-Id: I9bedd8a8f0947c0e3d1a01e6d6e9962e9826d460
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2023-02-07 09:40:06 +00:00
Miikka Heikkinen
af7ce87c2d QmlDesigner: Fix TypeError warning in material browser
Change-Id: I8150244aa5556340eea4cec8e4a15825280df742
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2023-01-23 13:25:32 +00:00
Mahmoud Badri
be15c0b82e QmlDesigner: Enable keyboard navigation in the material browser
Fixes: QDS-8764
Change-Id: I2f0de80a3bbffdb0dafa15315cfe6692d77db2ed
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-01-18 17:45:52 +00:00
Kai Köhne
4e9c1d126c Replace GPL-3.0 with GPL-3.0-only
GPL-3.0 is deprecated by SPDX.

Change done by

 find . -type f -exec perl -pi -e 's/LicenseRef-Qt-Commercial OR GPL-3.0(?!-)/LicenseRef-Qt-Commercial OR GPL-3.0-only/g' {} \;

Change-Id: If316a498e3f27d2030b86d4e7743b3237ce09939
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-10 08:05:04 +00:00
Mahmoud Badri
5f7d36d1cb QmlDesigner: Fix material browser's textures search
Change-Id: Ia0750f0f61d821deeb1d0d3630fb770803e604ee
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-12-01 09:09:08 +00:00
Mahmoud Badri
09c4df833b QmlDesigner: Fix small typo in MaterialBrowser
Fixes: QDS-8422
Change-Id: I9e1cfe677875ea8a7f58f1d52e7d1b9a3d4f8447
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-11-24 13:33:06 +00:00
Miikka Heikkinen
fea463bb4a QmlDesigner: Drag textures from content library to material browser
Fixes: QDS-8337
Change-Id: Iee42341a18e4acaa0d455aef276df36013ebf21e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-11-24 11:16:59 +00:00
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
Mahmoud Badri
88ce27736f QmlDesigner: Add separate + buttons for material browser sections
Fixes: QDS-8343
Change-Id: Id986820c857df241cf25e55416832f189c28bfe0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-11-21 13:32:45 +00:00
Mahmoud Badri
cbea3f15ce QmlDesigner: Allow material browser texture selection
For now texture selection is independent from material selection.

Change-Id: Iffa8354948f0ce64e4a54458531274e0441e87ea
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-11-10 13:47:37 +00:00
Miikka Heikkinen
d9d4d1829a QmlDesigner: Fix material name editing issues
Material name field in material browser now ensures that the start
of the string is visible when editing is not focused.

Any click outside the name field will take the focus away from the
field, and name field state is properly updated when focus goes
away for any reason.

Trying to set same name as before is ignored instead of changing the
name to <oldName>1.

Fixes: QDS-8185
Change-Id: I723e3ae312e3e2c4ce8a95a3b05effcee2bae328
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-11-08 12:21:06 +00:00
Mahmoud Badri
d5a7f25e60 QmlDesigner: Implement content library view
Fixes: QDS-8058
Fixes: QDS-8059
Change-Id: I1adfdc7ac15141e010467813ec6e673060269241
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-11-08 10:04:43 +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
Mahmoud Badri
2a4de97a84 QmlDesigner: Fix toggle section expand after choosing expand all
Fixes: QDS-8104
Change-Id: I6191a7b249490e6193acdd8b618c0817a3fc6ab3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-28 08:20:26 +00:00
Mahmoud Badri
bad166cda8 QmlDesigner: Maintain bundle categories expand state
Prevent categories auto-expanding when adding an bundle material
instance. Also some relevant tweaks.

Fixes: QDS-8043
Change-Id: Id87886c6d6e065f2c9c1253279348e076bc4d97f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-21 10:00:01 +00:00
Eike Ziller
8beb1fe775 Merge remote-tracking branch 'origin/8.0' into 9.0
Change-Id: Icd606068e77d6845cbbda5d48eda477cb21a312f
2022-10-21 10:03:56 +02:00
Mahmoud Badri
70f532c43f QmlDesigner: Allow drag-n-drop a bundle material to materials section
Fixes: QDS-8041
Change-Id: I848f636f41c58e11c719517f4073243a76e293b6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-20 16:35:27 +00:00
Eike Ziller
7b449c9463 Merge commit '029f926bcfcbb01' (origin/8.0) into 9.0
Conflicts:
	src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp
	src/plugins/qmldesigner/qmldesignerprojectmanager.cpp

Change-Id: Iff498a1024f4a152ebdd3516ba13fa16cb6932d9
2022-10-20 15:01:00 +02:00
Mahmoud Badri
e55ea179c4 QmlDesigner: Extract material browser ctx menus into separate components
Change-Id: I43305567f5224ed8015bcb507c7ee27e268d4d67
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-18 14:54:32 +00:00
Mahmoud Badri
4667d8ae4e QmlDesigner: Disable "add material" actions when QtQuick3D not imported
Fixes: QDS-7516
Change-Id: Id92a76e455b17b6c7baa11f8e472fa0b6bfcde9f
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-18 10:29:18 +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
Mahmoud Badri
b983b8aa52 QmlDesigner: Implement unimporting bundle materials
Fixes: QDS-7904
Change-Id: I08642c25a2844547d0104a7b3d9fda6afe47cd38
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-10-17 08:05:50 +00: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
Mahmoud Badri
18fd37e331 QmlDesigner: Expand material browser sections when searching
Make sure material browser sections that have matches are expanded while
searching.

Fixes: QDS-7836
Change-Id: Ie30c5425e8efee65cc4bdfa473b269841e73a9d3
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-10-04 11:30:08 +00:00
Mahmoud Badri
9dda372b7a QmlDesigner: Fix material browser context menu open issue
Allow opening material browser context menu when search is empty.

Fixes: QDS-7837
Change-Id: I473b62d1f1b94a42d5c60f0e06a6d2b76b74ca6d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-10-04 10:19:57 +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
Mahmoud Badri
d47e9772e0 QmlDesigner: Correct a method's camelCase naming
Change-Id: If9d4b750a09873fc0de8f85edcb41d220cbe5a41
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-09-26 13:32:25 +00:00