Add back "custom" option to the setting visibility page

This commit is contained in:
fieldOfView 2018-02-09 19:28:00 +01:00
parent 74fe281e1d
commit 61bbfcda3a

View File

@ -125,28 +125,45 @@ UM.PreferencesPage
right: parent.right right: parent.right
} }
model: Cura.SettingVisibilityPresetsModel model: ListModel
textRole: "name" {
id: visibilityPresetsModel
Component.onCompleted:
{
visibilityPresetsModel.append({text: catalog.i18nc("@action:inmenu", "Custom selection"), id: "custom"});
var presets = Cura.SettingVisibilityPresetsModel;
for(var i = 0; i < presets.rowCount(); i++)
{
visibilityPresetsModel.append({text: presets.getItem(i)["name"], id: presets.getItem(i)["id"]});
}
}
}
currentIndex: currentIndex:
{ {
// Load previously selected preset. // Load previously selected preset.
var index = model.find("id", model.activePreset); var index = Cura.SettingVisibilityPresetsModel.find("id", Cura.SettingVisibilityPresetsModel.activePreset);
if(index == -1) if(index == -1)
{ {
index = 0; return 0;
} }
return index; return index + 1; // "Custom selection" entry is added in front, so index is off by 1
} }
onActivated: onActivated:
{ {
base.inhibitSwitchToCustom = true; base.inhibitSwitchToCustom = true;
model.setActivePreset(model.getItem(index).id); var preset_id = visibilityPresetsModel.get(index).id;
Cura.SettingVisibilityPresetsModel.setActivePreset(preset_id);
UM.Preferences.setValue("general/visible_settings", model.getItem(index).settings.join(";")); UM.Preferences.setValue("cura/active_setting_visibility_preset", preset_id);
UM.Preferences.setValue("cura/active_setting_visibility_preset", model.getItem(index).id); if (preset_id != "custom")
{
UM.Preferences.setValue("general/visible_settings", Cura.SettingVisibilityPresetsModel.getItem(index - 1).settings.join(";"));
// "Custom selection" entry is added in front, so index is off by 1
}
base.inhibitSwitchToCustom = false; base.inhibitSwitchToCustom = false;
} }
} }