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
46
47
48
49
50
|
namespace MunchMate {
public class Application : Adw.Application {
private Window win;
private static bool print_version = false;
private const GLib.OptionEntry[] options = {
{ "version", 'V', OptionFlags.NONE, OptionArg.NONE, ref print_version, "Display version number", null },
{ null } // terminator
};
private const GLib.ActionEntry[] action_entries = {
{ "quit", on_quit_activate },
};
public override int handle_local_options(VariantDict _) {
if (print_version) {
print("%s version %s\n", Config.APP_ID, Config.VERSION);
return 0;
}
return -1;
}
public override void activate() {
win = new Window(this);
win.present();
}
public override void startup() {
base.startup();
set_accels_for_action("app.quit", { "q" });
}
public Application() {
// why doesnt service binding work in flatpak
Object(application_id: Config.APP_ID, flags: ApplicationFlags.NON_UNIQUE);
set_resource_base_path("/im/gzr/munchmate/");
add_main_option_entries(options);
add_action_entries(action_entries, this);
}
void on_quit_activate() {
quit();
}
}
}
|