From 8ce81fec9f0e11c2416eeff6b5da3a587380deb0 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Mon, 24 Oct 2016 17:06:48 +0200 Subject: [PATCH] Expand logic for showing the inherit button in SettingItem Hide it if the revert button is visible and make the overrides check limit_to_extruder in addition to the active stack. Contributes to CURA-2752 --- resources/qml/Settings/SettingItem.qml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index f399e7fe04..f7040976d5 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -194,10 +194,27 @@ Item { // Inherit button needs to be visible if; // - User made changes that override any loaded settings // - This setting item uses inherit button at all + // - The revert button is not visible. // - The type of the value of any deeper container is an "object" (eg; is a function) visible: { - return showInheritButton && Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0; + if(!base.showInheritButton) + { + return false; + } + + if(revertButton.visible) + { + // The revert button already indicates there is a custom value for this setting, making this button superfluous. + return false; + } + + if(globalPropertyProvider.properties.limit_to_extruder == null || globalPropertyProvider.properties.limit_to_extruder == -1) + { + return Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0; + } + + return Cura.SettingInheritanceManager.getOverridesForExtruder(definition.key, globalPropertyProvider.properties.limit_to_extruder).indexOf(definition.key) >= 0; } height: parent.height;