Browse Source

Merge branch 'master' of github.com:Ultimaker/Cura

Jaime van Kessel 8 years ago
parent
commit
8b71364ee8

+ 1 - 1
cura/CuraApplication.py

@@ -88,7 +88,7 @@ class CuraApplication(QtApplication):
         SettingDefinition.addSupportedProperty("settable_per_extruder", DefinitionPropertyType.Any, default = True, read_only = True)
         SettingDefinition.addSupportedProperty("settable_per_meshgroup", DefinitionPropertyType.Any, default = True, read_only = True)
         SettingDefinition.addSupportedProperty("settable_globally", DefinitionPropertyType.Any, default = True, read_only = True)
-        SettingDefinition.addSupportedProperty("global_inherits_stack", DefinitionPropertyType.Function, default = "-1")
+        SettingDefinition.addSupportedProperty("limit_to_extruder", DefinitionPropertyType.Function, default = "-1")
         SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default = None)
         SettingDefinition.addSettingType("extruder", None, str, Validator)
 

+ 1 - 1
plugins/CuraEngineBackend/Cura.proto

@@ -13,7 +13,7 @@ message Slice
     repeated ObjectList object_lists = 1; // The meshgroups to be printed one after another
     SettingList global_settings = 2; // The global settings used for the whole print job
     repeated Extruder extruders = 3; // The settings sent to each extruder object
-    repeated SettingExtruder global_inherits_stack = 4; //From which stack the setting would inherit if not defined in a stack.
+    repeated SettingExtruder limit_to_extruder = 4; //From which stack the setting would inherit if not defined in a stack.
 }
 
 message Extruder

+ 4 - 4
plugins/CuraEngineBackend/StartSliceJob.py

@@ -245,16 +245,16 @@ class StartSliceJob(Job):
     ##  Sends for some settings which extruder they should fallback to if not
     #   set.
     #
-    #   This is only set for settings that have the global_inherits_stack
+    #   This is only set for settings that have the limit_to_extruder
     #   property.
     #
     #   \param stack The global stack with all settings, from which to read the
-    #   global_inherits_stack property.
+    #   limit_to_extruder property.
     def _buildGlobalInheritsStackMessage(self, stack):
         for key in stack.getAllKeys():
-            extruder = int(round(float(stack.getProperty(key, "global_inherits_stack"))))
+            extruder = int(round(float(stack.getProperty(key, "limit_to_extruder"))))
             if extruder >= 0: #Set to a specific extruder.
-                setting_extruder = self._slice_message.addRepeatedMessage("global_inherits_stack")
+                setting_extruder = self._slice_message.addRepeatedMessage("limit_to_extruder")
                 setting_extruder.name = key
                 setting_extruder.extruder = extruder
 

+ 30 - 1
plugins/LayerView/LayerView.py

@@ -16,6 +16,7 @@ from UM.Scene.SceneNode import SceneNode
 from UM.View.RenderBatch import RenderBatch
 from UM.View.GL.OpenGL import OpenGL
 from UM.Message import Message
+from UM.Application import Application
 
 from cura.ConvexHullNode import ConvexHullNode
 
@@ -46,6 +47,7 @@ class LayerView(View):
         self._top_layers_job = None
         self._activity = False
         self._old_max_layers = 0
+        self._global_container_stack = None
 
         Preferences.getInstance().addPreference("view/top_layer_count", 5)
         Preferences.getInstance().addPreference("view/only_show_top_layers", False)
@@ -55,7 +57,7 @@ class LayerView(View):
         self._only_show_top_layers = bool(Preferences.getInstance().getValue("view/only_show_top_layers"))
         self._busy = False
 
-        self.wireprint_warning_message = Message(catalog.i18nc("@info:status", "Cura does not accurately display layers when Wire Printing is enabled"))
+        self._wireprint_warning_message = Message(catalog.i18nc("@info:status", "Cura does not accurately display layers when Wire Printing is enabled"))
 
     def getActivity(self):
         return self._activity
@@ -192,6 +194,33 @@ class LayerView(View):
                 self.setLayer(self._current_layer_num - 1)
                 return True
 
+        if event.type == Event.ViewActivateEvent:
+            Application.getInstance().globalContainerStackChanged.connect(self._onGlobalStackChanged)
+            self._onGlobalStackChanged()
+
+        elif event.type == Event.ViewDeactivateEvent:
+            self._wireprint_warning_message.hide()
+            Application.getInstance().globalContainerStackChanged.disconnect(self._onGlobalStackChanged)
+            if self._global_container_stack:
+                self._global_container_stack.propertyChanged.disconnect(self._onPropertyChanged)
+
+    def _onGlobalStackChanged(self):
+        if self._global_container_stack:
+            self._global_container_stack.propertyChanged.disconnect(self._onPropertyChanged)
+        self._global_container_stack = Application.getInstance().getGlobalContainerStack()
+        if self._global_container_stack:
+            self._global_container_stack.propertyChanged.connect(self._onPropertyChanged)
+            self._onPropertyChanged("wireframe_enabled", "value")
+        else:
+            self._wireprint_warning_message.hide()
+
+    def _onPropertyChanged(self, key, property_name):
+        if key == "wireframe_enabled" and property_name == "value":
+            if self._global_container_stack.getProperty("wireframe_enabled", "value"):
+                self._wireprint_warning_message.show()
+            else:
+                self._wireprint_warning_message.hide()
+
     def _startUpdateTopLayers(self):
         if self._top_layers_job:
             self._top_layers_job.finished.disconnect(self._updateCurrentLayerMesh)

+ 3 - 3
plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py

@@ -60,12 +60,12 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
                 if definition:
                     new_instance = SettingInstance(definition, settings)
                     stack_nr = -1
-                    if definition.global_inherits_stack and self._stack.getProperty("machine_extruder_count", "value") > 1:
+                    if definition.limit_to_extruder and self._stack.getProperty("machine_extruder_count", "value") > 1:
                         #Obtain the value from the correct container stack. Only once, upon adding the setting.
-                        stack_nr = str(int(round(float(self._stack.getProperty(item, "global_inherits_stack"))))) #Stack to get the setting from. Round it and remove the fractional part.
+                        stack_nr = str(int(round(float(self._stack.getProperty(item, "limit_to_extruder"))))) #Stack to get the setting from. Round it and remove the fractional part.
                     if stack_nr not in ExtruderManager.getInstance().extruderIds and self._stack.getProperty("extruder_nr", "value"): #Property not defined, but we have an extruder number.
                         stack_nr = str(int(round(float(self._stack.getProperty("extruder_nr", "value")))))
-                    if stack_nr in ExtruderManager.getInstance().extruderIds: #We have either a global_inherits_stack or an extruder_nr.
+                    if stack_nr in ExtruderManager.getInstance().extruderIds: #We have either a limit_to_extruder or an extruder_nr.
                         stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id = ExtruderManager.getInstance().extruderIds[stack_nr])[0]
                     else:
                         stack = UM.Application.getInstance().getGlobalContainerStack()

+ 76 - 76
resources/definitions/fdmprinter.def.json

@@ -654,7 +654,7 @@
                             "type": "float",
                             "enabled": "support_enable",
                             "value": "line_width",
-                            "global_inherits_stack": "support_infill_extruder_nr",
+                            "limit_to_extruder": "support_infill_extruder_nr",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true
                         },
@@ -668,7 +668,7 @@
                             "maximum_value_warning": "machine_nozzle_size * 2",
                             "type": "float",
                             "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')",
-                            "global_inherits_stack": "support_interface_extruder_nr",
+                            "limit_to_extruder": "support_interface_extruder_nr",
                             "value": "line_width",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true
@@ -1470,7 +1470,7 @@
                             "value": "speed_print",
                             "enabled": "support_enable",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "support_extruder_nr",
+                            "limit_to_extruder": "support_extruder_nr",
                             "settable_per_extruder": true,
                             "children":
                             {
@@ -1486,7 +1486,7 @@
                                     "maximum_value_warning": "150",
                                     "value": "speed_support",
                                     "enabled": "support_enable",
-                                    "global_inherits_stack": "support_infill_extruder_nr",
+                                    "limit_to_extruder": "support_infill_extruder_nr",
                                     "settable_per_mesh": false,
                                     "settable_per_extruder": true
                                 },
@@ -1501,7 +1501,7 @@
                                     "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
                                     "maximum_value_warning": "150",
                                     "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
-                                    "global_inherits_stack": "support_interface_extruder_nr",
+                                    "limit_to_extruder": "support_interface_extruder_nr",
                                     "value": "speed_support / 1.5",
                                     "settable_per_mesh": false,
                                     "settable_per_extruder": true
@@ -1593,7 +1593,7 @@
                     "enabled": "adhesion_type == \"skirt\" or adhesion_type == \"brim\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "max_feedrate_z_override":
                 {
@@ -1743,7 +1743,7 @@
                             "value": "acceleration_print",
                             "enabled": "acceleration_enabled and support_enable",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "support_extruder_nr",
+                            "limit_to_extruder": "support_extruder_nr",
                             "settable_per_extruder": true,
                             "children": {
                                 "acceleration_support_infill": {
@@ -1757,7 +1757,7 @@
                                     "minimum_value_warning": "100",
                                     "maximum_value_warning": "10000",
                                     "enabled": "acceleration_enabled and support_enable",
-                                    "global_inherits_stack": "support_infill_extruder_nr",
+                                    "limit_to_extruder": "support_infill_extruder_nr",
                                     "settable_per_mesh": false,
                                     "settable_per_extruder": true
                                 },
@@ -1772,7 +1772,7 @@
                                     "minimum_value_warning": "100",
                                     "maximum_value_warning": "10000",
                                     "enabled": "acceleration_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
-                                    "global_inherits_stack": "support_interface_extruder_nr",
+                                    "limit_to_extruder": "support_interface_extruder_nr",
                                     "settable_per_mesh": false,
                                     "settable_per_extruder": true
                                 }
@@ -1862,7 +1862,7 @@
                     "maximum_value_warning": "10000",
                     "enabled": "acceleration_enabled",
                     "settable_per_mesh": false,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
 
                 "jerk_enabled": {
@@ -1965,7 +1965,7 @@
                             "enabled": "jerk_enabled and support_enable",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "support_extruder_nr",
+                            "limit_to_extruder": "support_extruder_nr",
                             "children": {
                                 "jerk_support_infill": {
                                     "label": "Support Infill Jerk",
@@ -1978,7 +1978,7 @@
                                     "minimum_value_warning": "5",
                                     "maximum_value_warning": "50",
                                     "enabled": "jerk_enabled and support_enable",
-                                    "global_inherits_stack": "support_infill_extruder_nr",
+                                    "limit_to_extruder": "support_infill_extruder_nr",
                                     "settable_per_mesh": false,
                                     "settable_per_extruder": true
                                 },
@@ -1993,7 +1993,7 @@
                                     "minimum_value_warning": "5",
                                     "maximum_value_warning": "50",
                                     "enabled": "jerk_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
-                                    "global_inherits_stack": "support_interface_extruder_nr",
+                                    "limit_to_extruder": "support_interface_extruder_nr",
                                     "settable_per_mesh": false,
                                     "settable_per_extruder": true
                                 }
@@ -2083,7 +2083,7 @@
                     "value": "jerk_layer_0",
                     "enabled": "jerk_enabled",
                     "settable_per_mesh": false,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 }
             }
         },
@@ -2313,7 +2313,7 @@
                     "minimum_value": "0",
                     "maximum_value": "90",
                     "default_value": 50,
-                    "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
                     "enabled": "support_enable",
                     "settable_per_mesh": true
                 },
@@ -2332,7 +2332,7 @@
                     },
                     "default_value": "zigzag",
                     "enabled": "support_enable",
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true
                 },
@@ -2343,7 +2343,7 @@
                     "type": "bool",
                     "default_value": true,
                     "enabled": "support_enable and (support_pattern == 'zigzag')",
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true
                 },
@@ -2357,7 +2357,7 @@
                     "maximum_value_warning": "100",
                     "default_value": 15,
                     "enabled": "support_enable",
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
                     "children": {
@@ -2371,7 +2371,7 @@
                             "default_value": 2.66,
                             "enabled": "support_enable",
                             "value": "(support_line_width * 100) / support_infill_rate * (2 if support_pattern == \"grid\" else (3 if support_pattern == \"triangles\" else 1))",
-                            "global_inherits_stack": "support_infill_extruder_nr",
+                            "limit_to_extruder": "support_infill_extruder_nr",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true
                         }
@@ -2386,7 +2386,7 @@
                     "minimum_value": "0",
                     "maximum_value_warning": "10",
                     "default_value": 0.1,
-                    "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
                     "enabled": "support_enable",
                     "settable_per_mesh": true,
                     "children":
@@ -2402,7 +2402,7 @@
                             "type": "float",
                             "enabled": "support_enable",
                             "value": "extruderValue(support_extruder_nr, 'support_z_distance')",
-                            "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
+                            "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
                             "settable_per_mesh": true
                         },
                         "support_bottom_distance":
@@ -2414,7 +2414,7 @@
                             "maximum_value_warning": "10",
                             "default_value": 0.1,
                             "value": "extruderValue(support_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0",
-                            "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
+                            "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
                             "type": "float",
                             "enabled": "support_enable and support_type == 'everywhere'",
                             "settable_per_mesh": true
@@ -2430,7 +2430,7 @@
                     "minimum_value": "0",
                     "maximum_value_warning": "10",
                     "default_value": 0.7,
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "enabled": "support_enable",
                     "settable_per_mesh": true
                 },
@@ -2443,7 +2443,7 @@
                         "z_overrides_xy": "Z overrides X/Y"
                     },
                     "default_value": "z_overrides_xy",
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "enabled": "support_enable",
                     "settable_per_mesh": true
                 },
@@ -2456,7 +2456,7 @@
                     "maximum_value_warning": "10",
                     "default_value": 0.2,
                     "value": "machine_nozzle_size / 2",
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_xy_overrides_z') == 'z_overrides_xy'",
                     "settable_per_mesh": true
                 },
@@ -2467,7 +2467,7 @@
                     "unit": "mm",
                     "type": "float",
                     "default_value": 0.3,
-                    "global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
                     "minimum_value": "0",
                     "maximum_value_warning": "1.0",
                     "enabled": "support_enable",
@@ -2480,7 +2480,7 @@
                     "unit": "mm",
                     "type": "float",
                     "default_value": 2.0,
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "minimum_value_warning": "0",
                     "maximum_value_warning": "10",
                     "enabled": "support_enable",
@@ -2493,7 +2493,7 @@
                     "unit": "mm",
                     "type": "float",
                     "default_value": 0.2,
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "minimum_value_warning": "-0.5",
                     "maximum_value_warning": "5.0",
                     "enabled": "support_enable",
@@ -2505,7 +2505,7 @@
                     "description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.",
                     "type": "bool",
                     "default_value": false,
-                    "global_inherits_stack": "support_interface_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr",
                     "enabled": "support_enable",
                     "settable_per_mesh": true
                 },
@@ -2517,7 +2517,7 @@
                     "type": "float",
                     "default_value": 1,
                     "minimum_value": "0",
-                    "global_inherits_stack": "support_interface_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr",
                     "maximum_value_warning": "10",
                     "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
                     "settable_per_mesh": true,
@@ -2532,7 +2532,7 @@
                             "default_value": 1,
                             "value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
                             "minimum_value": "0",
-                            "global_inherits_stack": "support_interface_extruder_nr",
+                            "limit_to_extruder": "support_interface_extruder_nr",
                             "maximum_value_warning": "10",
                             "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
                             "settable_per_mesh": true
@@ -2547,7 +2547,7 @@
                             "value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
                             "minimum_value": "0",
                             "minimum_value_warning": "extruderValue(support_interface_extruder_nr, 'support_bottom_stair_step_height')",
-                            "global_inherits_stack": "support_interface_extruder_nr",
+                            "limit_to_extruder": "support_interface_extruder_nr",
                             "maximum_value_warning": "10",
                             "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
                             "settable_per_mesh": true
@@ -2563,7 +2563,7 @@
                     "default_value": 0.3,
                     "minimum_value": "0",
                     "maximum_value_warning": "support_interface_height",
-                    "global_inherits_stack": "support_interface_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr",
                     "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
                     "settable_per_mesh": true
                 },
@@ -2576,7 +2576,7 @@
                     "default_value": 100,
                     "minimum_value": "0",
                     "maximum_value_warning": "100",
-                    "global_inherits_stack": "support_interface_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr",
                     "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
@@ -2591,7 +2591,7 @@
                             "default_value": 0.4,
                             "minimum_value": "0",
                             "value": "0 if support_interface_density == 0 else (support_interface_line_width * 100) / support_interface_density * (2 if support_interface_pattern == \"grid\" else (3 if support_interface_pattern == \"triangles\" else 1))",
-                            "global_inherits_stack": "support_interface_extruder_nr",
+                            "limit_to_extruder": "support_interface_extruder_nr",
                             "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true
@@ -2612,7 +2612,7 @@
                         "zigzag": "Zig Zag"
                     },
                     "default_value": "concentric",
-                    "global_inherits_stack": "support_interface_extruder_nr",
+                    "limit_to_extruder": "support_interface_extruder_nr",
                     "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true
@@ -2623,7 +2623,7 @@
                     "description": "Use specialized towers to support tiny overhang areas. These towers have a larger diameter than the region they support. Near the overhang the towers' diameter decreases, forming a roof.",
                     "type": "bool",
                     "default_value": true,
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "enabled": "support_enable",
                     "settable_per_mesh": true
                 },
@@ -2634,7 +2634,7 @@
                     "unit": "mm",
                     "type": "float",
                     "default_value": 3.0,
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "minimum_value": "0",
                     "maximum_value_warning": "10",
                     "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')",
@@ -2647,7 +2647,7 @@
                     "unit": "mm",
                     "type": "float",
                     "default_value": 3.0,
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "minimum_value": "0",
                     "maximum_value_warning": "10",
                     "maximum_value": "extruderValue(support_infill_extruder_nr, 'support_tower_diameter')",
@@ -2663,7 +2663,7 @@
                     "minimum_value": "0",
                     "maximum_value": "90",
                     "default_value": 65,
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')",
                     "settable_per_mesh": true
                 }
@@ -2730,7 +2730,7 @@
                     "enabled": "adhesion_type == \"skirt\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "skirt_gap":
                 {
@@ -2744,7 +2744,7 @@
                     "enabled": "adhesion_type == \"skirt\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "skirt_brim_minimal_length":
                 {
@@ -2772,7 +2772,7 @@
                     "enabled": "adhesion_type == \"brim\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr",
+                    "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     {
                         "brim_line_count":
@@ -2787,7 +2787,7 @@
                             "enabled": "adhesion_type == \"brim\"",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         }
                     }
                 },
@@ -2800,7 +2800,7 @@
                     "enabled": "adhesion_type == \"brim\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_margin":
                 {
@@ -2812,7 +2812,7 @@
                     "minimum_value_warning": "0",
                     "maximum_value_warning": "10",
                     "enabled": "adhesion_type == \"raft\"",
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_airgap":
                 {
@@ -2826,7 +2826,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "layer_0_z_overlap": {
                     "label": "Initial Layer Z Overlap",
@@ -2840,7 +2840,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_surface_layers":
                 {
@@ -2853,7 +2853,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_surface_thickness":
                 {
@@ -2868,7 +2868,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_surface_line_width":
                 {
@@ -2883,7 +2883,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_surface_line_spacing":
                 {
@@ -2898,7 +2898,7 @@
                     "value": "raft_surface_line_width",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_interface_thickness":
                 {
@@ -2913,7 +2913,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_interface_line_width":
                 {
@@ -2928,7 +2928,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_interface_line_spacing":
                 {
@@ -2943,7 +2943,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_base_thickness":
                 {
@@ -2958,7 +2958,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_base_line_width":
                 {
@@ -2973,7 +2973,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_base_line_spacing":
                 {
@@ -2988,7 +2988,7 @@
                     "enabled": "adhesion_type == \"raft\"",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr"
+                    "limit_to_extruder": "adhesion_extruder_nr"
                 },
                 "raft_speed":
                 {
@@ -3004,7 +3004,7 @@
                     "value": "speed_print / 60 * 30",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "global_inherits_stack": "adhesion_extruder_nr",
+                    "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     {
                         "raft_surface_speed":
@@ -3021,7 +3021,7 @@
                             "value": "raft_speed",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_interface_speed":
                         {
@@ -3037,7 +3037,7 @@
                             "enabled": "adhesion_type == \"raft\"",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_base_speed":
                         {
@@ -3053,7 +3053,7 @@
                             "value": "0.75 * raft_speed",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         }
                     }
                 },
@@ -3069,7 +3069,7 @@
                     "value": "acceleration_print",
                     "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
                     "settable_per_mesh": false,
-                    "global_inherits_stack": "adhesion_extruder_nr",
+                    "limit_to_extruder": "adhesion_extruder_nr",
                     "children": {
                         "raft_surface_acceleration": {
                             "label": "Raft Top Print Acceleration",
@@ -3083,7 +3083,7 @@
                             "maximum_value_warning": "10000",
                             "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_interface_acceleration": {
                             "label": "Raft Middle Print Acceleration",
@@ -3097,7 +3097,7 @@
                             "maximum_value_warning": "10000",
                             "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_base_acceleration": {
                             "label": "Raft Base Print Acceleration",
@@ -3111,7 +3111,7 @@
                             "maximum_value_warning": "10000",
                             "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         }
                     }
                 },
@@ -3127,7 +3127,7 @@
                     "value": "jerk_print",
                     "enabled": "adhesion_type == \"raft\" and jerk_enabled",
                     "settable_per_mesh": false,
-                    "global_inherits_stack": "adhesion_extruder_nr",
+                    "limit_to_extruder": "adhesion_extruder_nr",
                     "children": {
                         "raft_surface_jerk": {
                             "label": "Raft Top Print Jerk",
@@ -3141,7 +3141,7 @@
                             "maximum_value_warning": "100",
                             "enabled": "adhesion_type == \"raft\" and jerk_enabled",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_interface_jerk": {
                             "label": "Raft Middle Print Jerk",
@@ -3155,7 +3155,7 @@
                             "maximum_value_warning": "50",
                             "enabled": "adhesion_type == \"raft\" and jerk_enabled",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_base_jerk": {
                             "label": "Raft Base Print Jerk",
@@ -3169,7 +3169,7 @@
                             "maximum_value_warning": "50",
                             "enabled": "adhesion_type == \"raft\" and jerk_enabled",
                             "settable_per_mesh": false,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         }
                     }
                 },
@@ -3184,7 +3184,7 @@
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
                     "enabled": "adhesion_type == \"raft\"",
-                    "global_inherits_stack": "adhesion_extruder_nr",
+                    "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     {
                         "raft_surface_fan_speed":
@@ -3200,7 +3200,7 @@
                             "enabled": "adhesion_type == \"raft\"",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_interface_fan_speed":
                         {
@@ -3215,7 +3215,7 @@
                             "enabled": "adhesion_type == \"raft\"",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         },
                         "raft_base_fan_speed":
                         {
@@ -3230,7 +3230,7 @@
                             "enabled": "adhesion_type == \"raft\"",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "global_inherits_stack": "adhesion_extruder_nr"
+                            "limit_to_extruder": "adhesion_extruder_nr"
                         }
                     }
                 }
@@ -3706,7 +3706,7 @@
                     "maximum_value": "90",
                     "default_value": 30,
                     "enabled": "support_conical_enabled and support_enable",
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "settable_per_mesh": true
                 },
                 "support_conical_min_width":
@@ -3720,7 +3720,7 @@
                     "maximum_value_warning": "100.0",
                     "type": "float",
                     "enabled": "support_conical_enabled and support_enable",
-                    "global_inherits_stack": "support_infill_extruder_nr",
+                    "limit_to_extruder": "support_infill_extruder_nr",
                     "settable_per_mesh": true
                 },
                 "magic_fuzzy_skin_enabled":

File diff suppressed because it is too large
+ 288 - 162
resources/i18n/cura.pot


File diff suppressed because it is too large
+ 312 - 178
resources/i18n/en/cura.po


+ 7 - 5
resources/qml/MonitorButton.qml

@@ -48,13 +48,15 @@ Rectangle
     {
         if(!printerConnected || !printerAcceptsCommands)
             return UM.Theme.getColor("text");
-        if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance")
-        {
-            return UM.Theme.getColor("status_busy");
-        } else if (Cura.MachineManager.printerOutputDevices[0].printerState == "error")
+
+        switch(Cura.MachineManager.printerOutputDevices[0].printerState)
         {
-            return UM.Theme.getColor("status_stopped");
+            case "maintenance":
+                return UM.Theme.getColor("status_busy");
+            case "error":
+                return UM.Theme.getColor("status_stopped");
         }
+
         switch(Cura.MachineManager.printerOutputDevices[0].jobState)
         {
             case "printing":

+ 1 - 1
resources/qml/Settings/SettingItem.qml

@@ -138,7 +138,7 @@ Item {
             {
                 id: linkedSettingIcon;
 
-                visible: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId && (!definition.settable_per_extruder || definition.global_inherits_stack != "-1") && base.showLinkedSettingIcon
+                visible: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId && (!definition.settable_per_extruder || definition.limit_to_extruder != "-1") && base.showLinkedSettingIcon
 
                 height: parent.height;
                 width: height;

Some files were not shown because too many files changed in this diff