deskcandy/src/screensaver_form.vala

33 lines
980 B
Vala

using Deskcandy.Candy;
namespace Deskcandy {
[GtkTemplate(ui = "/moe/solarpunk/Deskcandy/screensaver_form.ui")]
public class ScreensaverForm : Gtk.Bin {
[GtkChild]
private unowned Gtk.ListStore screensavers_liststore;
private unowned XScreensaver xss;
public void on_initialized(XScreensaver xss) {
this.xss = xss;
Gtk.TreeIter iter;
this.screensavers_liststore.clear();
foreach (XScreensaverConfig config in xss.configs) {
this.screensavers_liststore.append(out iter);
this.screensavers_liststore.set(iter, 0, config.label, 1, config.description, 2, config.name);
}
}
[GtkCallback]
private void on_screensaver_chooser_row_activated(Gtk.TreeView treeview, Gtk.TreePath path, Gtk.TreeViewColumn col) {
Gtk.TreeIter iter;
if (treeview.model.get_iter(out iter, path)) {
string name;
treeview.model.get(iter, 2, out name);
this.xss.name = name;
}
}
}
}