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; } } } }