33 lines
980 B
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;
|
|
}
|
|
}
|
|
}
|
|
}
|