deskcandy/src/presets_page.vala

45 lines
1.4 KiB
Vala

namespace Deskcandy {
[GtkTemplate(ui = "/moe/solarpunk/Deskcandy/presets_page.ui")]
public class PresetsPage : Gtk.Bin {
private new unowned Window parent;
public PresetsPage(Window parent) {
this.parent = parent;
var preset_action_group = new SimpleActionGroup();
var create_preset = new SimpleAction("create", null);
preset_action_group.add_action(create_preset);
create_preset.activate.connect(this.on_create_preset);
var delete_preset = new SimpleAction("delete", null);
delete_preset.activate.connect(this.on_delete_preset);
preset_action_group.add_action(delete_preset);
this.insert_action_group("presets", preset_action_group);
}
private void on_create_preset(SimpleAction a, Variant? v) {
this.parent.main_stack.visible_child_name = "editor";
}
private void on_delete_preset(SimpleAction a, Variant? v) {
message("delete");
}
[GtkCallback]
private void on_cancel_new_preset_button_clicked(Gtk.Widget w) {
var popover = (Gtk.Popover)w.get_ancestor(typeof(Gtk.Popover));
popover.popdown();
this.parent.main_stack.visible_child_name = "presets";
}
[GtkCallback]
private void on_cancel_delete_preset_button_clicked(Gtk.Widget w) {
var popover = (Gtk.Popover)w.get_ancestor(typeof(Gtk.Popover));
popover.popdown();
}
}
}