diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index cfe37c432f..4f2d8e4272 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -128,7 +128,11 @@ Item { } } - onActivated: UM.ActiveTool.setProperty("SelectedActiveExtruder", extruders_model.getItem(index).id); + onActivated: + { + UM.ActiveTool.setProperty("SelectedActiveExtruder", extruders_model.getItem(index).id); + extruderSelector.color = extruders_model.getItem(index).color; + } onModelChanged: updateCurrentIndex(); function updateCurrentIndex() diff --git a/resources/qml/Settings/SettingExtruder.qml b/resources/qml/Settings/SettingExtruder.qml index 582eb08644..ff30a7146e 100644 --- a/resources/qml/Settings/SettingExtruder.qml +++ b/resources/qml/Settings/SettingExtruder.qml @@ -19,7 +19,10 @@ SettingItem model: Cura.ExtrudersModel { id: extruders_model + onModelChanged: control.color = extruders_model.getItem(control.currentIndex).color } + property string color: extruders_model.getItem(control.currentIndex).color + textRole: "name" anchors.fill: parent @@ -64,7 +67,7 @@ SettingItem anchors.leftMargin: UM.Theme.getSize("default_lining").width anchors.verticalCenter: parent.verticalCenter - color: extruders_model.getItem(control.currentIndex).color + color: 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") } @@ -105,7 +108,8 @@ SettingItem onActivated: { forceActiveFocus(); - propertyProvider.setPropertyValue("value", extruders_model.getItem(index).index) + propertyProvider.setPropertyValue("value", extruders_model.getItem(index).index); + control.color = extruders_model.getItem(index).color; } onModelChanged: updateCurrentIndex(); @@ -121,7 +125,8 @@ SettingItem { if(extruders_model.getItem(i).index == propertyProvider.properties.value) { - currentIndex = i; + control.currentIndex = i; + control.color = extruders_model.getItem(i).color; return; } }