Просмотр исходного кода

Add function to get other properties than values from all extruders

I've made sure that the behaviour of getAllExtruderValues remains the same, so that this function may still be used by other pieces of code. It is now just a special case of getAllExtruderSettings. Please suggest a better naming scheme, if you like.

Contributes to issue CURA-2823.
Ghostkeeper 8 лет назад
Родитель
Сommit
d5ba89a026
1 измененных файлов с 9 добавлено и 5 удалено
  1. 9 5
      cura/Settings/ExtruderManager.py

+ 9 - 5
cura/Settings/ExtruderManager.py

@@ -268,18 +268,22 @@ class ExtruderManager(QObject):
         container_registry.addContainer(container_stack)
 
     def getAllExtruderValues(self, setting_key):
+        return self.getAllExtruderSettings(setting_key, "value")
+
+    ##  Gets a
+    def getAllExtruderSettings(self, setting_key, property):
         global_container_stack = UM.Application.getInstance().getGlobalContainerStack()
-        multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1
-        if not multi_extrusion:
-            return [global_container_stack.getProperty(setting_key, "value")]
+        if global_container_stack.getProperty("machine_extruder_count", "value") <= 1:
+            return [global_container_stack.getProperty(setting_key, property)]
 
         result = []
         for index in self.extruderIds:
             extruder_stack_id = self.extruderIds[str(index)]
-            stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id=extruder_stack_id)[0]
-            result.append(stack.getProperty(setting_key, "value"))
+            stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id = extruder_stack_id)[0]
+            result.append(stack.getProperty(setting_key, property))
         return result
 
+
     ##  Removes the container stack and user profile for the extruders for a specific machine.
     #
     #   \param machine_id The machine to remove the extruders for.