Browse Source

Add a multiplySelection method to CuraActions

Contributes to CURA-3609
Arjen Hiemstra 8 years ago
parent
commit
c21895de97
2 changed files with 11 additions and 0 deletions
  1. 9 0
      cura/CuraActions.py
  2. 2 0
      resources/qml/Menus/ContextMenu.qml

+ 9 - 0
cura/CuraActions.py

@@ -12,6 +12,7 @@ from UM.Scene.Selection import Selection
 from UM.Operations.GroupedOperation import GroupedOperation
 from UM.Operations.SetTransformOperation import SetTransformOperation
 
+from .MultiplyObjectsJob import MultiplyObjectsJob
 
 class CuraActions(QObject):
     def __init__(self, parent = None):
@@ -43,5 +44,13 @@ class CuraActions(QObject):
             operation.addOperation(center_operation)
         operation.push()
 
+    ##  Multiply all objects in the selection
+    #
+    #   \param count The number of times to multiply the selection.
+    @pyqtSlot(int)
+    def multiplySelection(self, count: int) -> None:
+        job = MultiplyObjectsJob(Selection.getAllSelectedObjects(), count, 8)
+        job.start()
+        return
     def _openUrl(self, url):
         QDesktopServices.openUrl(url)

+ 2 - 0
resources/qml/Menus/ContextMenu.qml

@@ -54,6 +54,8 @@ Menu
         width: 400 * Screen.devicePixelRatio
         height: 80 * Screen.devicePixelRatio
 
+        onAccepted: CuraActions.multiplySelection(copiesField.value)
+
         signal reset()
         onReset:
         {