diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index 6179e76ab7..34dfaeb616 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -61,6 +61,10 @@ class SettingInheritanceManager(QObject): result.append(key) return result + @pyqtSlot(str, str, result = bool) + def hasOverrides(self, key: str, extruder_index: str): + return key in self.getOverridesForExtruder(key, extruder_index) + @pyqtSlot(str, str, result = "QStringList") def getOverridesForExtruder(self, key: str, extruder_index: str) -> List[str]: if self._global_container_stack is None: diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 98a1601b48..0470e91faa 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -269,7 +269,7 @@ Item } // If the setting does not have a limit_to_extruder property (or is -1), use the active stack. - if (globalPropertyProvider.properties.limit_to_extruder === null || String(globalPropertyProvider.properties.limit_to_extruder) === "-1") + if (globalPropertyProvider.properties.limit_to_extruder === null || globalPropertyProvider.properties.limit_to_extruder === "-1") { return Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0 } @@ -283,7 +283,7 @@ Item { return false } - return Cura.SettingInheritanceManager.getOverridesForExtruder(definition.key, String(globalPropertyProvider.properties.limit_to_extruder)).indexOf(definition.key) >= 0 + return Cura.SettingInheritanceManager.hasOverrides(definition.key, globalPropertyProvider.properties.limit_to_extruder) } anchors.top: parent.top