mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 19:45:57 +08:00
Add Select All functionality
This commit is contained in:
parent
74d21a9053
commit
e01c8a4f10
@ -634,6 +634,22 @@ class CuraApplication(QtApplication):
|
|||||||
op = SetTransformOperation(node, Vector())
|
op = SetTransformOperation(node, Vector())
|
||||||
op.push()
|
op.push()
|
||||||
|
|
||||||
|
## Select all nodes containing mesh data in the scene.
|
||||||
|
@pyqtSlot()
|
||||||
|
def selectAll(self):
|
||||||
|
if not self.getController().getToolsEnabled():
|
||||||
|
return
|
||||||
|
|
||||||
|
Selection.clear()
|
||||||
|
for node in DepthFirstIterator(self.getController().getScene().getRoot()):
|
||||||
|
if type(node) is not SceneNode:
|
||||||
|
continue
|
||||||
|
if not node.getMeshData() and not node.callDecoration("isGroup"):
|
||||||
|
continue # Node that doesnt have a mesh and is not a group.
|
||||||
|
if node.getParent() and node.getParent().callDecoration("isGroup"):
|
||||||
|
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
|
||||||
|
Selection.add(node)
|
||||||
|
|
||||||
## Delete all nodes containing mesh data in the scene.
|
## Delete all nodes containing mesh data in the scene.
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def deleteAll(self):
|
def deleteAll(self):
|
||||||
|
@ -27,6 +27,7 @@ Item
|
|||||||
|
|
||||||
property alias multiplyObject: multiplyObjectAction;
|
property alias multiplyObject: multiplyObjectAction;
|
||||||
|
|
||||||
|
property alias selectAll: selectAllAction;
|
||||||
property alias deleteAll: deleteAllAction;
|
property alias deleteAll: deleteAllAction;
|
||||||
property alias reloadAll: reloadAllAction;
|
property alias reloadAll: reloadAllAction;
|
||||||
property alias resetAllTranslation: resetAllTranslationAction;
|
property alias resetAllTranslation: resetAllTranslationAction;
|
||||||
@ -230,6 +231,16 @@ Item
|
|||||||
iconName: "edit-duplicate"
|
iconName: "edit-duplicate"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Action
|
||||||
|
{
|
||||||
|
id: selectAllAction;
|
||||||
|
text: catalog.i18nc("@action:inmenu menubar:edit","&Select All Objects");
|
||||||
|
enabled: UM.Controller.toolsEnabled;
|
||||||
|
iconName: "edit-select-all";
|
||||||
|
shortcut: "Ctrl+A";
|
||||||
|
onTriggered: Printer.selectAll();
|
||||||
|
}
|
||||||
|
|
||||||
Action
|
Action
|
||||||
{
|
{
|
||||||
id: deleteAllAction;
|
id: deleteAllAction;
|
||||||
|
@ -118,6 +118,7 @@ UM.MainWindow
|
|||||||
MenuItem { action: Cura.Actions.undo; }
|
MenuItem { action: Cura.Actions.undo; }
|
||||||
MenuItem { action: Cura.Actions.redo; }
|
MenuItem { action: Cura.Actions.redo; }
|
||||||
MenuSeparator { }
|
MenuSeparator { }
|
||||||
|
MenuItem { action: Cura.Actions.selectAll; }
|
||||||
MenuItem { action: Cura.Actions.deleteSelection; }
|
MenuItem { action: Cura.Actions.deleteSelection; }
|
||||||
MenuItem { action: Cura.Actions.deleteAll; }
|
MenuItem { action: Cura.Actions.deleteAll; }
|
||||||
MenuItem { action: Cura.Actions.resetAllTranslation; }
|
MenuItem { action: Cura.Actions.resetAllTranslation; }
|
||||||
@ -537,6 +538,7 @@ UM.MainWindow
|
|||||||
MenuItem { action: Cura.Actions.deleteObject; }
|
MenuItem { action: Cura.Actions.deleteObject; }
|
||||||
MenuItem { action: Cura.Actions.multiplyObject; }
|
MenuItem { action: Cura.Actions.multiplyObject; }
|
||||||
MenuSeparator { }
|
MenuSeparator { }
|
||||||
|
MenuItem { action: Cura.Actions.selectAll; }
|
||||||
MenuItem { action: Cura.Actions.deleteAll; }
|
MenuItem { action: Cura.Actions.deleteAll; }
|
||||||
MenuItem { action: Cura.Actions.reloadAll; }
|
MenuItem { action: Cura.Actions.reloadAll; }
|
||||||
MenuItem { action: Cura.Actions.resetAllTranslation; }
|
MenuItem { action: Cura.Actions.resetAllTranslation; }
|
||||||
@ -589,6 +591,7 @@ UM.MainWindow
|
|||||||
Menu
|
Menu
|
||||||
{
|
{
|
||||||
id: contextMenu;
|
id: contextMenu;
|
||||||
|
MenuItem { action: Cura.Actions.selectAll; }
|
||||||
MenuItem { action: Cura.Actions.deleteAll; }
|
MenuItem { action: Cura.Actions.deleteAll; }
|
||||||
MenuItem { action: Cura.Actions.reloadAll; }
|
MenuItem { action: Cura.Actions.reloadAll; }
|
||||||
MenuItem { action: Cura.Actions.resetAllTranslation; }
|
MenuItem { action: Cura.Actions.resetAllTranslation; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user