Refactor SettingCategory checkable by using expanded

More intuitive and less chance of overriding the expanded Binding

CURA-6959
This commit is contained in:
Nino van Hooff 2019-12-31 11:27:39 +01:00
parent d780efd76c
commit dfba1eb102

View File

@ -30,11 +30,11 @@ Button
{ {
return UM.Theme.getColor("setting_category_disabled") return UM.Theme.getColor("setting_category_disabled")
} }
else if (base.hovered && base.checkable && base.checked) else if (base.hovered && base.expanded)
{ {
return UM.Theme.getColor("setting_category_active_hover") return UM.Theme.getColor("setting_category_active_hover")
} }
else if (base.pressed || (base.checkable && base.checked)) else if (base.pressed || (base.expanded))
{ {
return UM.Theme.getColor("setting_category_active") return UM.Theme.getColor("setting_category_active")
} }
@ -55,6 +55,7 @@ Button
signal setActiveFocusToNextSetting(bool forward) signal setActiveFocusToNextSetting(bool forward)
property var focusItem: base property var focusItem: base
property bool expanded: definition.expanded
contentItem: Item contentItem: Item
{ {
@ -79,10 +80,10 @@ Button
if (!base.enabled) if (!base.enabled)
{ {
return UM.Theme.getColor("setting_category_disabled_text") return UM.Theme.getColor("setting_category_disabled_text")
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) } else if ((base.hovered || base.activeFocus) && base.expanded)
{ {
return UM.Theme.getColor("setting_category_active_hover_text") return UM.Theme.getColor("setting_category_active_hover_text")
} else if (base.pressed || (base.checkable && base.checked)) } else if (base.pressed || base.expanded)
{ {
return UM.Theme.getColor("setting_category_active_text") return UM.Theme.getColor("setting_category_active_text")
} else if (base.hovered || base.activeFocus) } else if (base.hovered || base.activeFocus)
@ -123,11 +124,11 @@ Button
{ {
return UM.Theme.getColor("setting_category_disabled_text") return UM.Theme.getColor("setting_category_disabled_text")
} }
else if((base.hovered || base.activeFocus) && base.checkable && base.checked) else if((base.hovered || base.activeFocus) && base.expanded)
{ {
return UM.Theme.getColor("setting_category_active_hover_text") return UM.Theme.getColor("setting_category_active_hover_text")
} }
else if(base.pressed || (base.checkable && base.checked)) else if(base.pressed || base.expanded)
{ {
return UM.Theme.getColor("setting_category_active_text") return UM.Theme.getColor("setting_category_active_text")
} }
@ -144,9 +145,6 @@ Button
sourceSize.height: width + 15 * screenScaleFactor sourceSize.height: width + 15 * screenScaleFactor
} }
checkable: true
checked: definition.expanded
onClicked: onClicked:
{ {
if (definition.expanded) if (definition.expanded)
@ -226,7 +224,6 @@ Button
onClicked: onClicked:
{ {
settingDefinitionsModel.expandRecursive(definition.key) settingDefinitionsModel.expandRecursive(definition.key)
base.checked = true //todo should not be necessary and also breaks binding, right?
base.showAllHiddenInheritedSettings(definition.key) base.showAllHiddenInheritedSettings(definition.key)
} }