Presets are now actually created, added notifications when creating preset.

This commit is contained in:
2021-02-09 23:08:49 -06:00
parent 988ef506ce
commit ab55e8db5b
8 changed files with 99 additions and 19 deletions

View File

@@ -53,7 +53,13 @@ module TAC
button get_image("#{TAC::ROOT_PATH}/media/icons/save.png"), image_width: THEME_ICON_SIZE, tip: "Save group as preset" do
if @active_group
push_state(Dialog::NamePromptDialog, title: "Save Group Preset", renaming: @active_group, accept_label: "Save", list: window.backend.config.presets.actions, callback_method: proc { |action, name|
push_state(Dialog::NamePromptDialog, title: "Save Group Preset", renaming: @active_group, accept_label: "Save", list: window.backend.config.presets.groups, callback_method: proc { |group, name|
clone = TAC::Config::Group.from_json( JSON.parse( @active_group.to_json, symbolize_names: true ))
clone.name = "#{name}"
window.backend.config.presets.groups << clone
window.backend.config_changed!
window.toast("Saved Group Preset", "Saved preset: #{name}")
})
end
end
@@ -92,6 +98,12 @@ module TAC
button get_image("#{TAC::ROOT_PATH}/media/icons/save.png"), image_width: THEME_ICON_SIZE, tip: "Save action as preset" do
if @active_action
push_state(Dialog::NamePromptDialog, title: "Save Action Preset", renaming: @active_action, accept_label: "Save", list: window.backend.config.presets.actions, callback_method: proc { |action, name|
clone = TAC::Config::Action.from_json( JSON.parse( @active_action.to_json, symbolize_names: true ))
clone.name = "#{name}"
window.backend.config.presets.actions << clone
window.backend.config_changed!
window.toast("Saved Action Preset", "Saved preset: #{name}")
})
end
end

View File

@@ -31,22 +31,22 @@ module TAC
button group.name, width: 0.895
button get_image("#{TAC::ROOT_PATH}/media/icons/gear.png"), image_width: THEME_ICON_SIZE, tip: "Edit group" do
button get_image("#{TAC::ROOT_PATH}/media/icons/gear.png"), image_width: THEME_ICON_SIZE, tip: "Edit group preset" do
push_state(
Dialog::NamePromptDialog,
title: "Rename Group",
title: "Rename Group Preset",
renaming: group,
list: window.backend.config.presets.groups,
callback_method: method(:update_group)
callback_method: method(:update_group_preset)
)
end
button get_image("#{TAC::ROOT_PATH}/media/icons/trashcan.png"), image_width: THEME_ICON_SIZE, tip: "Delete group", **THEME_DANGER_BUTTON do
button get_image("#{TAC::ROOT_PATH}/media/icons/trashcan.png"), image_width: THEME_ICON_SIZE, tip: "Delete group preset", **THEME_DANGER_BUTTON do
push_state(
Dialog::ConfirmDialog,
title: "Are you sure?",
message: "Delete group and all of its actions and variables?",
callback_method: proc { delete_group(group) }
message: "Delete group preset and all of its actions and variables?",
callback_method: proc { delete_group_preset(group) }
)
end
end
@@ -62,28 +62,56 @@ module TAC
button action.name, width: 0.895
button get_image("#{TAC::ROOT_PATH}/media/icons/gear.png"), image_width: THEME_ICON_SIZE, tip: "Edit group" do
button get_image("#{TAC::ROOT_PATH}/media/icons/gear.png"), image_width: THEME_ICON_SIZE, tip: "Edit action preset" do
push_state(
Dialog::NamePromptDialog,
title: "Rename Group",
renaming: group,
list: window.backend.config.presets.groups,
callback_method: method(:update_group)
title: "Rename Action Preset",
renaming: action,
list: window.backend.config.presets.actions,
callback_method: method(:update_action_preset)
)
end
button get_image("#{TAC::ROOT_PATH}/media/icons/trashcan.png"), image_width: THEME_ICON_SIZE, tip: "Delete group", **THEME_DANGER_BUTTON do
button get_image("#{TAC::ROOT_PATH}/media/icons/trashcan.png"), image_width: THEME_ICON_SIZE, tip: "Delete action preset", **THEME_DANGER_BUTTON do
push_state(
Dialog::ConfirmDialog,
title: "Are you sure?",
message: "Delete group and all of its actions and variables?",
callback_method: proc { delete_group(group) }
message: "Delete action preset and all of its actions and variables?",
callback_method: proc { delete_action_preset(action) }
)
end
end
end
end
end
def update_group_preset(group, name)
group.name = name
window.backend.config_changed!
populate_group_presets
end
def delete_group_preset(group)
window.backend.config.presets.groups.delete(group)
window.backend.config_changed!
populate_group_presets
end
def update_action_preset(action, name)
action.name = name
window.backend.config_changed!
populate_group_presets
end
def delete_action_preset(action)
window.backend.config.presets.action.delete(action)
window.backend.config_changed!
populate_action_presets
end
end
end
end