summaryrefslogtreecommitdiffstats
path: root/editorlib
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2016-09-14 16:48:27 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2016-09-15 09:04:18 +0000
commit106f387792f5624d315865f0a9b2a901224dcac1 (patch)
tree6eba123bb5ae64039dfc6ab0e7a6e8cded8e36cf /editorlib
parentff9c47b885def777c043355ef056e672e2135586 (diff)
Update icons and shortcuts
Change-Id: Ibe9bdc5f44b6ad397397a2025adb867be54eb289 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'editorlib')
-rw-r--r--editorlib/images/change_camera_position.pngbin390 -> 338 bytes
-rw-r--r--editorlib/images/helperarrows_global.pngbin335 -> 500 bytes
-rw-r--r--editorlib/images/helperarrows_local.pngbin329 -> 422 bytes
-rw-r--r--editorlib/images/load.pngbin255 -> 256 bytes
-rw-r--r--editorlib/qml/CameraPositionMenu.qml23
-rw-r--r--editorlib/qml/ComponentMenu.qml100
-rw-r--r--editorlib/qml/EditorContent.qml146
-rw-r--r--editorlib/qml/EditorToolbar.qml69
-rw-r--r--editorlib/qml/EntityMenu.qml21
-rw-r--r--editorlib/qml/EntityTree.qml3
10 files changed, 242 insertions, 120 deletions
diff --git a/editorlib/images/change_camera_position.png b/editorlib/images/change_camera_position.png
index 2300976..eb9c249 100644
--- a/editorlib/images/change_camera_position.png
+++ b/editorlib/images/change_camera_position.png
Binary files differ
diff --git a/editorlib/images/helperarrows_global.png b/editorlib/images/helperarrows_global.png
index 744e2e8..993cc25 100644
--- a/editorlib/images/helperarrows_global.png
+++ b/editorlib/images/helperarrows_global.png
Binary files differ
diff --git a/editorlib/images/helperarrows_local.png b/editorlib/images/helperarrows_local.png
index 944c17d..581b893 100644
--- a/editorlib/images/helperarrows_local.png
+++ b/editorlib/images/helperarrows_local.png
Binary files differ
diff --git a/editorlib/images/load.png b/editorlib/images/load.png
index 968dcd6..b2b3ae9 100644
--- a/editorlib/images/load.png
+++ b/editorlib/images/load.png
Binary files differ
diff --git a/editorlib/qml/CameraPositionMenu.qml b/editorlib/qml/CameraPositionMenu.qml
index a5585af..972edbd 100644
--- a/editorlib/qml/CameraPositionMenu.qml
+++ b/editorlib/qml/CameraPositionMenu.qml
@@ -31,34 +31,41 @@ import QtQml.Models 2.2
import com.theqtcompany.SceneEditor3D 1.0
Menu {
+ property bool isPopup: false
+
+ title: qsTr("Camera Position") + editorScene.emptyString
+
MenuItem {
- text: qsTr("Change camera to:") + editorScene.emptyString
+ text: qsTr("Camera Position") + editorScene.emptyString
enabled: false
+ visible: isPopup
+ }
+ MenuSeparator {
+ visible: isPopup
}
- MenuSeparator {}
MenuItem {
- text: qsTr("Top") + editorScene.emptyString
+ text: qsTr("Top (7)") + editorScene.emptyString
onTriggered: editorScene.changeCameraPosition(EditorScene.CameraPositionTop)
}
MenuItem {
- text: qsTr("Bottom") + editorScene.emptyString
+ text: qsTr("Bottom (Ctrl+7)") + editorScene.emptyString
onTriggered: editorScene.changeCameraPosition(EditorScene.CameraPositionBottom)
}
MenuItem {
- text: qsTr("Left") + editorScene.emptyString
+ text: qsTr("Left (8)") + editorScene.emptyString
onTriggered: editorScene.changeCameraPosition(EditorScene.CameraPositionLeft)
}
MenuItem {
- text: qsTr("Right") + editorScene.emptyString
+ text: qsTr("Right (Ctrl+8)") + editorScene.emptyString
onTriggered: editorScene.changeCameraPosition(EditorScene.CameraPositionRight)
}
MenuItem {
- text: qsTr("Front") + editorScene.emptyString
+ text: qsTr("Front (9)") + editorScene.emptyString
onTriggered: editorScene.changeCameraPosition(EditorScene.CameraPositionFront)
}
MenuItem {
- text: qsTr("Back") + editorScene.emptyString
+ text: qsTr("Back (Ctrl+9)") + editorScene.emptyString
onTriggered: editorScene.changeCameraPosition(EditorScene.CameraPositionBack)
}
}
diff --git a/editorlib/qml/ComponentMenu.qml b/editorlib/qml/ComponentMenu.qml
index 2d96182..e9c3bad 100644
--- a/editorlib/qml/ComponentMenu.qml
+++ b/editorlib/qml/ComponentMenu.qml
@@ -41,36 +41,23 @@ Menu {
MenuItem {
enabled: editorScene.freeView
- text: qsTr("Add scene camera here") + editorScene.emptyString
- onTriggered: {
- entityTree.selectSceneRoot()
- editorScene.undoHandler.beginMacro(text)
- entityTree.addNewEntity(EditorUtils.CameraEntity)
- // When a new camera is added, it is automatically selected
- editorScene.undoHandler.createCopyCameraPropertiesCommand(
- editorContent.selectedEntityName);
- editorScene.undoHandler.endMacro()
- }
+ text: qsTr("Add scene camera here (0)") + editorScene.emptyString
+ onTriggered: addSceneCamera()
}
MenuItem {
enabled: editorScene.freeView
- text: qsTr("Move active camera here") + editorScene.emptyString
- onTriggered: {
- editorScene.undoHandler.createCopyCameraPropertiesCommand(
- editorScene.cameraName(editorScene.activeSceneCameraIndex),
- "", text);
- }
+ text: qsTr("Move active camera here (1)") + editorScene.emptyString
+ onTriggered: moveSceneCamera()
}
MenuSeparator {}
MenuItem {
- text: qsTr("Object Picker") + editorScene.emptyString
+ text: qsTr("Add object picker (Ctrl + P)") + editorScene.emptyString
iconSource: "images/picker.png"
- enabled: !editorScene.multiSelection
- onTriggered: {
- componentPropertiesView.model.appendNewComponent(EditorSceneItemComponentsModel.ObjectPicker)
- }
+ enabled: !editorScene.multiSelection && !entityTreeView.cameraSelected
+ && !entityTreeView.sceneRootSelected && !entityTreeView.lightSelected
+ onTriggered: addPickerToSelectedEntity()
}
MenuSeparator {}
@@ -80,7 +67,7 @@ Menu {
enabled: !editorScene.multiSelection && !entityTreeView.cameraSelected
}
MenuItem {
- text: qsTr("Remove") + editorScene.emptyString
+ text: qsTr("Remove (del)") + editorScene.emptyString
enabled: !entityTreeView.sceneRootSelected
iconSource: "images/minus.png"
onTriggered: {
@@ -100,27 +87,13 @@ Menu {
}
}
MenuItem {
- text: qsTr("Duplicate") + editorScene.emptyString
+ text: qsTr("Duplicate (Ctrl + D)") + editorScene.emptyString
enabled: !entityTreeView.sceneRootSelected
iconSource: "images/duplicate.png"
- onTriggered: {
- if (editorScene.multiSelection) {
- // Handle multiselection duplication
- editorScene.undoHandler.beginMacro(text)
- var duplicateList = editorScene.sceneModel.parentList(editorScene.multiSelectionList)
- for (var i = 0; i < duplicateList.length; ++i)
- editorScene.undoHandler.createDuplicateEntityCommand(duplicateList[i])
- editorScene.undoHandler.endMacro()
- editorScene.restoreMultiSelection(editorScene.multiSelectionList)
- } else {
- var currentSelection = editorContent.selectedEntity.entity()
- editorScene.undoHandler.createDuplicateEntityCommand(editorContent.selectedEntityName)
- editorScene.restoreSelection(currentSelection)
- }
- }
+ onTriggered: editorContent.duplicateEntity()
}
MenuItem {
- text: qsTr("Copy (Ctrl + c)") + editorScene.emptyString
+ text: qsTr("Copy (Ctrl + C)") + editorScene.emptyString
enabled: !editorScene.multiSelection && !entityTreeView.sceneRootSelected
iconSource: "images/copy.png"
onTriggered: {
@@ -128,7 +101,7 @@ Menu {
}
}
MenuItem {
- text: qsTr("Cut (Ctrl + x)") + editorScene.emptyString
+ text: qsTr("Cut (Ctrl + X)") + editorScene.emptyString
enabled: !editorScene.multiSelection && !entityTreeView.sceneRootSelected
iconSource: "images/cut.png"
onTriggered: {
@@ -136,7 +109,7 @@ Menu {
}
}
MenuItem {
- text: qsTr("Paste (Ctrl + v)") + editorScene.emptyString
+ text: qsTr("Paste (Ctrl + V)") + editorScene.emptyString
enabled: editorScene.clipboardOperation !== EditorScene.ClipboardNone
&& !editorScene.multiSelection
&& (!entityTree.treeviewPasting || (entityTree.treeviewPasting
@@ -153,55 +126,22 @@ Menu {
}
}
MenuItem {
- text: qsTr("Reset") + editorScene.emptyString
+ text: qsTr("Reset (Shift + R)") + editorScene.emptyString
iconSource: "images/reset_all.png"
enabled: !editorScene.multiSelection && !entityTreeView.sceneRootSelected
- onTriggered: {
- editorScene.undoHandler.createResetEntityCommand(editorContent.selectedEntityName)
- }
+ onTriggered: editorContent.resetSelectedEntity()
}
MenuItem {
- text: qsTr("Reset Transform") + editorScene.emptyString
+ text: qsTr("Reset Transform (Shift + Alt + R)") + editorScene.emptyString
iconSource: "images/reset.png"
enabled: !editorScene.multiSelection && !entityTreeView.sceneRootSelected
&& !entityTreeView.cameraSelected
- onTriggered: {
- editorScene.undoHandler.createResetTransformCommand(editorContent.selectedEntityName)
- }
+ onTriggered: editorContent.resetSelectedEntityTransform()
}
MenuItem {
- text: qsTr("Group Selected") + editorScene.emptyString
+ text: qsTr("Group Selected (Ctrl + G)") + editorScene.emptyString
enabled: !entityTreeView.sceneRootSelected
iconSource: "images/group.png"
- onTriggered: {
- editorScene.undoHandler.beginMacro(text)
- // Copy list, as the original is emptied on insertEntity
- var reparentList = []
- var groupCenter
- if (editorScene.multiSelection) {
- reparentList = editorScene.sceneModel.parentList(editorScene.multiSelectionList)
- groupCenter = editorScene.getMultiSelectionCenter()
- } else {
- reparentList[0] = editorContent.selectedEntityName
- groupCenter = editorContent.selectedEntity.selectionBoxCenter()
- }
-
- // TODO: Allow creating groups under other entities?
-
- // Add new group
- editorScene.undoHandler.createInsertEntityCommand(1, editorScene.sceneRootName(),
- groupCenter)
- var index = editorScene.sceneModel.lastInsertedIndex()
- var groupName = editorScene.sceneModel.entityName(index)
- // Move selected entities under the added group
- for (var i = 0; i < reparentList.length; ++i)
- editorScene.undoHandler.createReparentEntityCommand(groupName, reparentList[i])
- editorScene.undoHandler.endMacro()
-
- // Single-select the added group. Need to fetch group index again as reparenting
- // resets the model.
- editorScene.clearMultiSelection()
- editorScene.selectIndex(editorScene.sceneModel.getModelIndexByName(groupName))
- }
+ onTriggered: editorContent.groupSelected()
}
}
diff --git a/editorlib/qml/EditorContent.qml b/editorlib/qml/EditorContent.qml
index 35b620c..58646c9 100644
--- a/editorlib/qml/EditorContent.qml
+++ b/editorlib/qml/EditorContent.qml
@@ -149,6 +149,13 @@ Item {
}
}
+ function importEntity() {
+ if (!editorScene.sceneModel.importEntityInProgress) {
+ importEntityDialog.folder = importFolder
+ importEntityDialog.open()
+ }
+ }
+
function showNormalXPlane() {
editorScene.helperPlane.enabled = true
editorScene.helperPlaneTransform.rotation =
@@ -223,6 +230,26 @@ Item {
}
}
+ function duplicateEntity() {
+ if (!entityTree.view.sceneRootSelected) {
+ if (editorScene.multiSelection) {
+ // Handle multiselection duplication
+ editorScene.undoHandler.beginMacro(text)
+ var duplicateList = editorScene.sceneModel.parentList(
+ editorScene.multiSelectionList)
+ for (var i = 0; i < duplicateList.length; ++i)
+ editorScene.undoHandler.createDuplicateEntityCommand(duplicateList[i])
+ editorScene.undoHandler.endMacro()
+ editorScene.restoreMultiSelection(editorScene.multiSelectionList)
+ } else {
+ var currentSelection = editorContent.selectedEntity.entity()
+ editorScene.undoHandler.createDuplicateEntityCommand(
+ editorContent.selectedEntityName)
+ editorScene.restoreSelection(currentSelection)
+ }
+ }
+ }
+
function resetCameraToDefault() {
editorScene.freeView = true
editorScene.resetFreeViewCamera()
@@ -232,8 +259,92 @@ Item {
cameraPositionMenu.popup()
}
+ function showEntityMenu() {
+ if (!editorScene.multiSelection && !entityTree.view.cameraSelected)
+ entityMenu.popup()
+ }
+
+ function groupSelected() {
+ if (!entityTree.view.sceneRootSelected) {
+ editorScene.undoHandler.beginMacro(qsTr("Group Selected"))
+ // Copy list, as the original is emptied on insertEntity
+ var reparentList = []
+ var groupCenter
+ if (editorScene.multiSelection) {
+ reparentList = editorScene.sceneModel.parentList(editorScene.multiSelectionList)
+ groupCenter = editorScene.getMultiSelectionCenter()
+ } else {
+ reparentList[0] = editorContent.selectedEntityName
+ groupCenter = editorContent.selectedEntity.selectionBoxCenter()
+ }
+
+ // TODO: Allow creating groups under other entities?
+
+ // Add new group
+ editorScene.undoHandler.createInsertEntityCommand(1, editorScene.sceneRootName(),
+ groupCenter)
+ var index = editorScene.sceneModel.lastInsertedIndex()
+ var groupName = editorScene.sceneModel.entityName(index)
+ // Move selected entities under the added group
+ for (var i = 0; i < reparentList.length; ++i)
+ editorScene.undoHandler.createReparentEntityCommand(groupName, reparentList[i])
+ editorScene.undoHandler.endMacro()
+
+ // Single-select the added group. Need to fetch group index again as reparenting
+ // resets the model.
+ editorScene.clearMultiSelection()
+ editorScene.selectIndex(editorScene.sceneModel.getModelIndexByName(groupName))
+ }
+ }
+
+ function resetSelectedEntity() {
+ if (!editorScene.multiSelection && !entityTree.view.sceneRootSelected)
+ editorScene.undoHandler.createResetEntityCommand(editorContent.selectedEntityName)
+ }
+
+ function resetSelectedEntityTransform() {
+ if (!editorScene.multiSelection && !entityTree.view.sceneRootSelected
+ && !entityTree.view.cameraSelected) {
+ editorScene.undoHandler.createResetTransformCommand(editorContent.selectedEntityName)
+ }
+ }
+
+ function addSceneCamera() {
+ if (editorScene.freeView) {
+ entityTree.selectSceneRoot()
+ editorScene.undoHandler.beginMacro(qsTr("Add scene camera"))
+ entityTree.addNewEntity(EditorUtils.CameraEntity)
+ // When a new camera is added, it is automatically selected
+ editorScene.undoHandler.createCopyCameraPropertiesCommand(
+ editorContent.selectedEntityName);
+ editorScene.undoHandler.endMacro()
+ }
+ }
+
+ function moveSceneCamera() {
+ if (editorScene.freeView) {
+ editorScene.undoHandler.createCopyCameraPropertiesCommand(
+ editorScene.cameraName(editorScene.activeSceneCameraIndex),
+ "", qsTr("Move scene camera"));
+ }
+ }
+
+ function addPickerToSelectedEntity() {
+ if (!editorScene.multiSelection && !entityTree.view.sceneRootSelected
+ && !entityTree.view.cameraSelected && !entityTree.view.lightSelected) {
+ componentPropertiesView.model.appendNewComponent(
+ EditorSceneItemComponentsModel.ObjectPicker)
+ }
+ }
+
+ EntityMenu {
+ id: entityMenu
+ isPopup: true
+ }
+
CameraPositionMenu {
id: cameraPositionMenu
+ isPopup: true
}
Settings {
@@ -314,7 +425,6 @@ Item {
Shortcut {
- id: copyShortcut
sequence: StandardKey.Copy
onActivated: {
// Prevent copying multiselection (for now, at least)
@@ -324,7 +434,6 @@ Item {
}
Shortcut {
- id: cutShortcut
sequence: StandardKey.Cut
onActivated: {
// Prevent cutting multiselection (for now, at least)
@@ -334,12 +443,43 @@ Item {
}
Shortcut {
- id: pasteShortcut
sequence: StandardKey.Paste
onActivated: {
editorContent.pasteEntity()
}
}
+ Shortcut {
+ sequence: "Ctrl+D"
+ onActivated: editorContent.duplicateEntity()
+ }
+ Shortcut {
+ sequence: "A"
+ onActivated: editorContent.showEntityMenu()
+ }
+ Shortcut {
+ sequence: "Ctrl+G"
+ onActivated: editorContent.groupSelected()
+ }
+ Shortcut {
+ sequence: "Shift+R"
+ onActivated: editorContent.resetSelectedEntity()
+ }
+ Shortcut {
+ sequence: "Shift+Alt+R"
+ onActivated: editorContent.resetSelectedEntityTransform()
+ }
+ Shortcut {
+ sequence: "0"
+ onActivated: editorContent.addSceneCamera()
+ }
+ Shortcut {
+ sequence: "1"
+ onActivated: editorContent.moveSceneCamera()
+ }
+ Shortcut {
+ sequence: "Ctrl+P"
+ onActivated: editorContent.addPickerToSelectedEntity()
+ }
EditorScene {
id: editorScene
diff --git a/editorlib/qml/EditorToolbar.qml b/editorlib/qml/EditorToolbar.qml
index 47b3e1e..cde349c 100644
--- a/editorlib/qml/EditorToolbar.qml
+++ b/editorlib/qml/EditorToolbar.qml
@@ -30,6 +30,7 @@ import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.0 as QQC2
+import com.theqtcompany.SceneEditor3D 1.0
Item {
property alias coordDisplayText: coordinateDisplayLabel.text
@@ -67,12 +68,9 @@ Item {
ToolbarButton {
enabledIconSource: "images/import.png"
disabledIconSource: "images/import_disabled.png"
- tooltip: qsTr("Import Entity") + editorScene.emptyString
+ tooltip: qsTr("Import Entity (Ctrl + I)") + editorScene.emptyString
buttonEnabled: !editorScene.sceneModel.importEntityInProgress
- onEnabledButtonClicked: {
- importEntityDialog.folder = editorContent.importFolder
- importEntityDialog.open()
- }
+ onEnabledButtonClicked: editorContent.importEntity()
}
ToolbarSeparator {}
@@ -150,7 +148,9 @@ Item {
enabledIconSource: "images/helperarrows_local.png"
disabledIconSource: "images/helperarrows_global.png"
selectedBgColor: editorContent.iconHighlightColor
- tooltip: qsTr("Helper arrows mode") + editorScene.emptyString
+ tooltip: editorScene.helperArrowsLocal
+ ? qsTr("Local transformation orientation (6)") + editorScene.emptyString
+ : qsTr("Global transformation orientation (6)") + editorScene.emptyString
buttonEnabled: editorScene.helperArrowsLocal
onEnabledButtonClicked: editorScene.helperArrowsLocal = !editorScene.helperArrowsLocal
hoverAlways: true
@@ -166,9 +166,8 @@ Item {
onEnabledButtonClicked: editorScene.snapFreeViewCameraToActiveSceneCamera()
}
ToolbarButton {
- // TODO: Needs a proper icon
enabledIconSource: "images/change_camera_position.png"
- tooltip: qsTr("Change a camera position (Ctrl + 6)") + editorScene.emptyString
+ tooltip: qsTr("Change a camera position") + editorScene.emptyString
onEnabledButtonClicked: editorContent.changeCameraPosition()
}
ToolbarButton {
@@ -230,7 +229,7 @@ Item {
ToolbarButton {
enabledIconSource: "images/settings.png"
- tooltip: qsTr("Settings") + editorScene.emptyString
+ tooltip: qsTr("Settings (Shift+S)") + editorScene.emptyString
onEnabledButtonClicked: settingsDialog.show()
}
@@ -246,70 +245,92 @@ Item {
}
Shortcut {
- id: fileNewShortcut
sequence: StandardKey.New
onActivated: editorContent.fileNew()
}
Shortcut {
- id: fileLoadShortcut
sequence: StandardKey.Open
onActivated: editorContent.fileLoad()
}
Shortcut {
- id: fileSaveShortcut
+ sequence: "Ctrl+I"
+ onActivated: editorContent.importEntity()
+ }
+ Shortcut {
sequence: StandardKey.Save
onActivated: editorContent.fileSave()
}
Shortcut {
- id: fileSaveAsShortcut
sequence: StandardKey.SaveAs
onActivated: editorContent.fileSaveAs()
}
Shortcut {
- id: undoShortcut
sequence: StandardKey.Undo
onActivated: editorContent.undo()
}
Shortcut {
- id: redoShortcut
sequence: StandardKey.Redo
onActivated: editorContent.redo()
}
-
Shortcut {
- id: resetCameraShortcut
sequence: "Ctrl+0"
onActivated: editorContent.resetCameraToDefault()
}
Shortcut {
- id: normalXShortcut
sequence: "Ctrl+1"
onActivated: editorContent.showNormalXPlane()
}
Shortcut {
- id: normalYShortcut
sequence: "Ctrl+2"
onActivated: editorContent.showNormalYPlane()
}
Shortcut {
- id: normalZShortcut
sequence: "Ctrl+3"
onActivated: editorContent.showNormalZPlane()
}
Shortcut {
- id: hideHelperPlaneShortcut
sequence: "Ctrl+4"
onActivated: editorContent.hideHelperPlane()
}
Shortcut {
- id: snapToActiveCameraShortcut
sequence: "Ctrl+5"
onActivated: editorScene.snapFreeViewCameraToActiveSceneCamera()
}
Shortcut {
- id: changeCameraPositionShortcut
sequence: "Ctrl+6"
- onActivated: editorContent.changeCameraPosition()
+ onActivated: editorScene.freeView = !editorScene.freeView
+ }
+ Shortcut {
+ sequence: "6"
+ onActivated: editorScene.helperArrowsLocal = !editorScene.helperArrowsLocal
+ }
+ Shortcut {
+ sequence: "7"
+ onActivated: editorScene.changeCameraPosition(EditorScene.CameraPositionTop)
+ }
+ Shortcut {
+ sequence: "Ctrl+7"
+ onActivated: editorScene.changeCameraPosition(EditorScene.CameraPositionBottom)
+ }
+ Shortcut {
+ sequence: "8"
+ onActivated: editorScene.changeCameraPosition(EditorScene.CameraPositionLeft)
+ }
+ Shortcut {
+ sequence: "Ctrl+8"
+ onActivated: editorScene.changeCameraPosition(EditorScene.CameraPositionRight)
+ }
+ Shortcut {
+ sequence: "9"
+ onActivated: editorScene.changeCameraPosition(EditorScene.CameraPositionFront)
+ }
+ Shortcut {
+ sequence: "Ctrl+9"
+ onActivated: editorScene.changeCameraPosition(EditorScene.CameraPositionBack)
+ }
+ Shortcut {
+ sequence: "Shift+S"
+ onActivated: settingsDialog.show()
}
}
diff --git a/editorlib/qml/EntityMenu.qml b/editorlib/qml/EntityMenu.qml
index bc202f3..11b627d 100644
--- a/editorlib/qml/EntityMenu.qml
+++ b/editorlib/qml/EntityMenu.qml
@@ -31,12 +31,23 @@ import QtQml.Models 2.2
import com.theqtcompany.SceneEditor3D 1.0
Menu {
- title: qsTr("Add Entity") + editorScene.emptyString
+ property bool isPopup: false
+
+ title: qsTr("Add Entity (A)") + editorScene.emptyString
+
+ MenuItem {
+ text: qsTr("Add Entity") + editorScene.emptyString
+ enabled: false
+ visible: isPopup
+ }
+ MenuSeparator {
+ visible: isPopup
+ }
MenuItem {
text: qsTr("Mesh") + editorScene.emptyString
iconSource: "images/mesh.png"
- enabled: !entityTreeView.cameraSelected
+ enabled: !entityTree.view.cameraSelected
onTriggered: {
entityTree.addNewEntity(EditorUtils.CuboidEntity)
}
@@ -44,7 +55,7 @@ Menu {
MenuItem {
text: qsTr("Camera") + editorScene.emptyString
iconSource: "images/camera.png"
- enabled: !entityTreeView.cameraSelected
+ enabled: entityTree.view.sceneRootSelected
onTriggered: {
entityTree.addNewEntity(EditorUtils.CameraEntity)
}
@@ -52,7 +63,7 @@ Menu {
MenuItem {
text: qsTr("Light") + editorScene.emptyString
iconSource: "images/light.png"
- enabled: !entityTreeView.cameraSelected
+ enabled: !entityTree.view.cameraSelected
onTriggered: {
entityTree.addNewEntity(EditorUtils.LightEntity)
}
@@ -60,7 +71,7 @@ Menu {
MenuItem {
text: qsTr("Group") + editorScene.emptyString
iconSource: "images/group.png"
- enabled: entityTreeView.groupSelected || entityTreeView.sceneRootSelected
+ enabled: entityTree.view.groupSelected || entityTree.view.sceneRootSelected
onTriggered: {
entityTree.addNewEntity(EditorUtils.GroupEntity)
}
diff --git a/editorlib/qml/EntityTree.qml b/editorlib/qml/EntityTree.qml
index 80b3069..68a2d03 100644
--- a/editorlib/qml/EntityTree.qml
+++ b/editorlib/qml/EntityTree.qml
@@ -178,6 +178,7 @@ Item {
property bool sceneRootSelected: true
property bool cameraSelected: true
+ property bool lightSelected: true
property bool groupSelected: true
property real preResetContentY: 0
@@ -481,6 +482,8 @@ Item {
editorContent.selectedEntity.itemType() === EditorSceneItem.Camera
entityTreeView.groupSelected =
editorContent.selectedEntity.itemType() === EditorSceneItem.Group
+ entityTreeView.lightSelected =
+ editorContent.selectedEntity.itemType() === EditorSceneItem.Light
editorContent.selectedEntityName = editorScene.sceneModel.entityName(
entityTreeView.selection.currentIndex)
} else {