Browse Source

Add warning to PerObjectSettingsPanel when Print Sequence is set to All at Once

fieldOfView 9 years ago
parent
commit
5fe1de2153

+ 9 - 0
plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml

@@ -11,6 +11,7 @@ import UM 1.1 as UM
 Item {
     id: base;
     property int currentIndex: UM.ActiveTool.properties.SelectedIndex;
+    property string printSequence: UM.ActiveTool.properties.PrintSequence;
 
     width: childrenRect.width;
     height: childrenRect.height;
@@ -22,6 +23,14 @@ Item {
 
         spacing: UM.Theme.sizes.default_margin.height;
 
+        Label {
+            width: UM.Theme.sizes.setting.width;
+            wrapMode: Text.Wrap;
+            text: catalog.i18nc("@label", "Per Object Settings behavior may be unexpected when 'Print sequence' is set to 'All at Once'.")
+            color: UM.Theme.colors.text;
+            visible: base.printSequence == "all_at_once"
+        }
+
         UM.SettingItem {
             id: profileSelection
 

+ 8 - 3
plugins/PerObjectSettingsTool/PerObjectSettingsTool.py

@@ -3,6 +3,7 @@
 
 from UM.Tool import Tool
 from UM.Scene.Selection import Selection
+from UM.Application import Application
 
 from . import PerObjectSettingsModel
 
@@ -10,7 +11,7 @@ class PerObjectSettingsTool(Tool):
     def __init__(self):
         super().__init__()
 
-        self.setExposedProperties("Model", "SelectedIndex")
+        self.setExposedProperties("Model", "SelectedIndex", "PrintSequence")
 
     def event(self, event):
         return False
@@ -19,6 +20,10 @@ class PerObjectSettingsTool(Tool):
         return PerObjectSettingsModel.PerObjectSettingsModel()
 
     def getSelectedIndex(self):
-        selected_object_id = id(Selection.getSelectedObject(0));
+        selected_object_id = id(Selection.getSelectedObject(0))
         index = self.getModel().find("id", selected_object_id)
-        return index
+        return index
+
+    def getPrintSequence(self):
+        settings = Application.getInstance().getMachineManager().getActiveProfile()
+        return settings.getSettingValue("print_sequence")