Merge branch 'CURA-6959_collapse_categories' of github.com:Ultimaker/Cura

This commit is contained in:
Jaime van Kessel 2020-01-02 16:07:24 +01:00
commit c261065d68
No known key found for this signature in database
GPG Key ID: 3710727397403C91
4 changed files with 31 additions and 14 deletions

View File

@ -58,5 +58,5 @@ Button {
checkable: true checkable: true
checked: definition.expanded checked: definition.expanded
onClicked: definition.expanded ? settingDefinitionsModel.collapse(definition.key) : settingDefinitionsModel.expandRecursive(definition.key) onClicked: definition.expanded ? settingDefinitionsModel.collapseRecursive(definition.key) : settingDefinitionsModel.expandRecursive(definition.key)
} }

View File

@ -14,6 +14,8 @@ Menu
property QtObject settingVisibilityPresetsModel: CuraApplication.getSettingVisibilityPresetsModel() property QtObject settingVisibilityPresetsModel: CuraApplication.getSettingVisibilityPresetsModel()
signal collapseAllCategories()
Instantiator Instantiator
{ {
model: settingVisibilityPresetsModel.items model: settingVisibilityPresetsModel.items
@ -34,6 +36,15 @@ Menu
onObjectRemoved: menu.removeItem(object) onObjectRemoved: menu.removeItem(object)
} }
MenuSeparator {}
MenuItem
{
text: catalog.i18nc("@action:inmenu", "Collapse All Categories")
onTriggered:
{
collapseAllCategories();
}
}
MenuSeparator {} MenuSeparator {}
MenuItem MenuItem
{ {

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)
@ -107,7 +108,7 @@ Button
height: UM.Theme.getSize("standard_arrow").height height: UM.Theme.getSize("standard_arrow").height
sourceSize.height: width sourceSize.height: width
color: UM.Theme.getColor("setting_control_button") color: UM.Theme.getColor("setting_control_button")
source: base.checked ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left") source: definition.expanded ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
} }
} }
@ -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,14 +145,11 @@ Button
sourceSize.height: width + 15 * screenScaleFactor sourceSize.height: width + 15 * screenScaleFactor
} }
checkable: true
checked: definition.expanded
onClicked: onClicked:
{ {
if (definition.expanded) if (definition.expanded)
{ {
settingDefinitionsModel.collapse(definition.key) settingDefinitionsModel.collapseRecursive(definition.key)
} }
else else
{ {
@ -226,7 +224,6 @@ Button
onClicked: onClicked:
{ {
settingDefinitionsModel.expandRecursive(definition.key) settingDefinitionsModel.expandRecursive(definition.key)
base.checked = true
base.showAllHiddenInheritedSettings(definition.key) base.showAllHiddenInheritedSettings(definition.key)
} }

View File

@ -185,7 +185,16 @@ Item
label: Label {} label: Label {}
} }
menu: SettingVisibilityPresetsMenu {} menu: SettingVisibilityPresetsMenu
{
onCollapseAllCategories:
{
settingsSearchTimer.stop()
filter.text = "" // clear search field
filter.editingFinished()
definitionsModel.collapseAllCategories()
}
}
} }
// Mouse area that gathers the scroll events to not propagate it to the main view. // Mouse area that gathers the scroll events to not propagate it to the main view.