summaryrefslogtreecommitdiffstats
path: root/ui.vala
blob: e3a21aad4019f9fad57662ce4394d9ecc4c11f56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public void init_ui() {
	init_restock_dialog();
}

public void init_restock_dialog() {
	var window = builder.get_object("restock_dialog") as Gtk.Window;

	/* product combobox */
	var box = builder.get_object("comboboxtext1") as Gtk.ComboBoxText;
	foreach(var entry in db.get_products().entries) {
		box.append(entry.key, entry.value);
	}

	/* spinner button */
	var spinner = builder.get_object("spinbutton1") as Gtk.SpinButton;

	/* dialog buttons */
	var cancel = builder.get_object("button-restock-cancel") as Gtk.Button;
	var ok = builder.get_object("button-restock-add") as Gtk.Button;

	cancel.clicked.connect(() => {
		spinner.value = 0.0;
		box.active = -1;
		window.hide();
	});

	ok.clicked.connect(() => {
		var id = box.get_active_id();
		var product = (id != null) ? uint64.parse(id) : 0;
		var amount = (int) spinner.get_value();

		int64 timestamp = (new DateTime.now_utc()).to_unix();
		stdout.printf("[%lld] restock: %lld - %d\n", timestamp, product, amount);

		if(db.restock(product, amount)) {
			spinner.value = 0.0;
			box.active = -1;
			window.hide();
		}
	});
}

public void show_restock_dialog() {
	(builder.get_object("restock_dialog") as Gtk.Window).show();
}