mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-11-02 20:52:20 -07:00
Merge pull request #3274 from fieldOfView/feature_setting_visibility_profiles
Setting Visibility Presets sidebar menu
This commit is contained in:
commit
984e6ddd08
11 changed files with 376 additions and 185 deletions
|
|
@ -15,10 +15,11 @@ Item
|
|||
{
|
||||
id: base;
|
||||
|
||||
property Action configureSettings;
|
||||
property bool findingSettings;
|
||||
signal showTooltip(Item item, point location, string text);
|
||||
signal hideTooltip();
|
||||
property Action configureSettings
|
||||
property bool findingSettings
|
||||
property bool showingAllSettings
|
||||
signal showTooltip(Item item, point location, string text)
|
||||
signal hideTooltip()
|
||||
|
||||
Item
|
||||
{
|
||||
|
|
@ -107,6 +108,57 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
ToolButton
|
||||
{
|
||||
id: settingVisibilityMenu
|
||||
|
||||
width: height
|
||||
height: UM.Theme.getSize("setting_control").height
|
||||
anchors
|
||||
{
|
||||
top: globalProfileRow.bottom
|
||||
topMargin: UM.Theme.getSize("sidebar_margin").height
|
||||
right: parent.right
|
||||
rightMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
}
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Item {
|
||||
UM.RecolorImage {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: control.enabled ? UM.Theme.getColor("setting_category_text") : UM.Theme.getColor("setting_category_disabled_text")
|
||||
source: UM.Theme.getIcon("menu")
|
||||
}
|
||||
}
|
||||
label: Label{}
|
||||
}
|
||||
menu: SettingVisibilityPresetsMenu
|
||||
{
|
||||
showingSearchResults: findingSettings
|
||||
showingAllSettings: showingAllSettings
|
||||
|
||||
onShowAllSettings:
|
||||
{
|
||||
base.showingAllSettings = true;
|
||||
base.findingSettings = false;
|
||||
filter.text = "";
|
||||
filter.updateDefinitionModel();
|
||||
}
|
||||
onShowSettingVisibilityProfile:
|
||||
{
|
||||
base.showingAllSettings = false;
|
||||
base.findingSettings = false;
|
||||
filter.text = "";
|
||||
filter.updateDefinitionModel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: filterContainer
|
||||
|
|
@ -132,9 +184,9 @@ Item
|
|||
top: globalProfileRow.bottom
|
||||
topMargin: UM.Theme.getSize("sidebar_margin").height
|
||||
left: parent.left
|
||||
leftMargin: Math.round(UM.Theme.getSize("sidebar_margin").width)
|
||||
right: parent.right
|
||||
rightMargin: Math.round(UM.Theme.getSize("sidebar_margin").width)
|
||||
leftMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
right: settingVisibilityMenu.left
|
||||
rightMargin: Math.floor(UM.Theme.getSize("default_margin").width / 2)
|
||||
}
|
||||
height: visible ? UM.Theme.getSize("setting_control").height : 0
|
||||
Behavior on height { NumberAnimation { duration: 100 } }
|
||||
|
|
@ -168,17 +220,9 @@ Item
|
|||
{
|
||||
if(findingSettings)
|
||||
{
|
||||
expandedCategories = definitionsModel.expanded.slice();
|
||||
definitionsModel.expanded = ["*"];
|
||||
definitionsModel.showAncestors = true;
|
||||
definitionsModel.showAll = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
definitionsModel.expanded = expandedCategories;
|
||||
definitionsModel.showAncestors = false;
|
||||
definitionsModel.showAll = false;
|
||||
showingAllSettings = false;
|
||||
}
|
||||
updateDefinitionModel();
|
||||
lastFindingSettings = findingSettings;
|
||||
}
|
||||
}
|
||||
|
|
@ -187,6 +231,27 @@ Item
|
|||
{
|
||||
filter.text = "";
|
||||
}
|
||||
|
||||
function updateDefinitionModel()
|
||||
{
|
||||
if(findingSettings || showingAllSettings)
|
||||
{
|
||||
expandedCategories = definitionsModel.expanded.slice();
|
||||
definitionsModel.expanded = [""]; // keep categories closed while to prevent render while making settings visible one by one
|
||||
definitionsModel.showAncestors = true;
|
||||
definitionsModel.showAll = true;
|
||||
definitionsModel.expanded = ["*"];
|
||||
}
|
||||
else
|
||||
{
|
||||
if(expandedCategories)
|
||||
{
|
||||
definitionsModel.expanded = expandedCategories;
|
||||
}
|
||||
definitionsModel.showAncestors = false;
|
||||
definitionsModel.showAll = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea
|
||||
|
|
@ -209,7 +274,7 @@ Item
|
|||
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Math.round(UM.Theme.getSize("sidebar_margin").width)
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
color: UM.Theme.getColor("setting_control_button")
|
||||
hoverColor: UM.Theme.getColor("setting_control_button_hover")
|
||||
|
|
@ -491,9 +556,17 @@ Item
|
|||
MenuItem
|
||||
{
|
||||
//: Settings context menu action
|
||||
visible: !findingSettings;
|
||||
visible: !(findingSettings || showingAllSettings);
|
||||
text: catalog.i18nc("@action:menu", "Hide this setting");
|
||||
onTriggered: definitionsModel.hide(contextMenu.key);
|
||||
onTriggered:
|
||||
{
|
||||
definitionsModel.hide(contextMenu.key);
|
||||
// visible settings have changed, so we're no longer showing a preset
|
||||
if (Cura.SettingVisibilityPresetsModel.activePreset != "" && !showingAllSettings)
|
||||
{
|
||||
Cura.SettingVisibilityPresetsModel.setActivePreset("custom");
|
||||
}
|
||||
}
|
||||
}
|
||||
MenuItem
|
||||
{
|
||||
|
|
@ -509,7 +582,7 @@ Item
|
|||
return catalog.i18nc("@action:menu", "Keep this setting visible");
|
||||
}
|
||||
}
|
||||
visible: findingSettings;
|
||||
visible: (findingSettings || showingAllSettings);
|
||||
onTriggered:
|
||||
{
|
||||
if (contextMenu.settingVisible)
|
||||
|
|
@ -520,6 +593,11 @@ Item
|
|||
{
|
||||
definitionsModel.show(contextMenu.key);
|
||||
}
|
||||
// visible settings have changed, so we're no longer showing a preset
|
||||
if (Cura.SettingVisibilityPresetsModel.activePreset != "" && !showingAllSettings)
|
||||
{
|
||||
Cura.SettingVisibilityPresetsModel.setActivePreset("custom");
|
||||
}
|
||||
}
|
||||
}
|
||||
MenuItem
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue