Fix saving and renaming presets

This commit is contained in:
u1f98e 2022-11-19 19:46:55 -08:00
parent 8cdaea82c0
commit 09ddffe39e
2 changed files with 18 additions and 11 deletions

View file

@ -125,7 +125,7 @@ class GradiencePresetRow(Adw.ExpanderRow):
if self.name_entry_toggle.get_active():
self.value_stack.set_visible_child(self.name_entry)
else:
self.update_value()
self.preset.rename_preset(self.name_entry.get_text())
self.value_stack.set_visible_child(self.apply_button)
def on_report_btn_clicked(self, *_args):
@ -169,14 +169,6 @@ class GradiencePresetRow(Adw.ExpanderRow):
finally:
self.delete_preset = True
def update_value(self):
print(self.name_entry.get_text())
old = self.preset.preset_path
self.preset.save_preset(self.name_entry.get_text())
os.remove(
self.preset.preset_path
)
def on_delete_toast_dismissed(self, widget):
buglog("dismissed")
if self.delete_preset:

View file

@ -85,15 +85,30 @@ class Preset:
else:
buglog(error, " -> preset : unknown path")
# Rename an existing preset
def rename_preset(self, name):
new_path = os.path.join(
os.path.dirname(self.preset_path),
to_slug_case(name) + ".json")
os.rename(
self.preset_path,
new_path
)
self.preset_path = new_path
# Save a new user preset (or overwrite one)
def save_preset(self, name=None, plugins_list=None, to=None):
self.display_name = name if name else self.display_name
self.filename = to_slug_case(name) if name else self.filename
if to is None:
filename = to_slug_case(name) if name else "new_preset"
self.preset_path = os.path.join(
presets_dir, self.repo, self.filename + ".json")
presets_dir, "user", filename + ".json")
else:
self.preset_path = to
if not os.path.exists(
os.path.join(
presets_dir,