Browse Source

Finally got edge cases regarding recommended mode support extruder color working. CURA-2767

Jack Ha 8 years ago
parent
commit
14701d89d0
2 changed files with 21 additions and 5 deletions
  1. 20 4
      resources/qml/SidebarSimple.qml
  2. 1 1
      resources/themes/cura/styles.qml

+ 20 - 4
resources/qml/SidebarSimple.qml

@@ -290,9 +290,18 @@ Item
             id: supportExtruderCombobox
             visible: (supportEnabled.properties.value == "True") && (machineExtruderCount.properties.value > 1)
             model: extruderModel
-            property string color:
+
+            property string color_override: ""  // for manually setting values
+            property string color:  // is evaluated automatically, but the first time is before extruderModel being filled
             {
-                var model_color = extruderModel.get(currentIndex).color;
+                CuraApplication.log(" normal color evaluation");
+
+                var current_extruder = extruderModel.get(currentIndex);
+                color_override = "";
+                if (current_extruder === undefined) {
+                    return "";
+                }
+                var model_color = current_extruder.color;
                 return (model_color) ? model_color : "";
             }
 
@@ -330,7 +339,7 @@ Item
             enabled: base.settingsEnabled
             property alias _hovered: supportExtruderMouseArea.containsMouse
 
-            currentIndex: parseFloat(supportExtruderNr.properties.value)
+            currentIndex: parseFloat(supportExtruderNr.properties.value)q
             onActivated:
             {
                 // Send the extruder nr as a string.
@@ -354,7 +363,13 @@ Item
                 }
             }
 
-            // color rectangle
+            function updateCurrentColor()
+            {
+                var current_extruder = extruderModel.get(currentIndex);
+                if (current_extruder !== undefined) {
+                    supportExtruderCombobox.color_override = current_extruder.color;
+                }
+            }
 
         }
 
@@ -444,6 +459,7 @@ Item
                 color: extruders.getItem(extruderNumber).color
             })
         }
+        supportExtruderCombobox.updateCurrentColor();
     }
 
     Rectangle

+ 1 - 1
resources/themes/cura/styles.qml

@@ -446,7 +446,7 @@ QtObject {
                     anchors.leftMargin: UM.Theme.getSize("default_lining").width
                     anchors.verticalCenter: parent.verticalCenter
 
-                    color: control.color
+                    color: if (control.color_override != "") {return control.color_override} else {return control.color;}
                     border.width: UM.Theme.getSize("default_lining").width
                     border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : UM.Theme.getColor("setting_control_border")
                 }