summaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-09-11 11:21:19 -0400
committerMatthias Clasen <mclasen@redhat.com>2016-09-11 11:25:50 -0400
commitd7b446ec06afa93bdbb686d4f322aa568146c763 (patch)
tree553e734ef1c9743d56884ea6523058f7d2675ed5 /demos
parentac95470c0196feec1f2353425460d676a669a896 (diff)
downloadgtk+-d7b446ec06afa93bdbb686d4f322aa568146c763.tar.gz
Add a --version option to gtk3-widget-factory
This was missing, for no good reason.
Diffstat (limited to 'demos')
-rw-r--r--demos/widget-factory/widget-factory.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index 3fde995d46..1584c134eb 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -1915,6 +1915,33 @@ activate (GApplication *app)
g_object_unref (builder);
}
+static void
+print_version (void)
+{
+ g_print ("gtk3-widget-factory %d.%d.%d\n",
+ gtk_get_major_version (),
+ gtk_get_minor_version (),
+ gtk_get_micro_version ());
+}
+
+static int
+local_options (GApplication *app,
+ GVariantDict *options,
+ gpointer data)
+{
+ gboolean version = FALSE;
+
+ g_variant_dict_lookup (options, "version", "b", &version);
+
+ if (version)
+ {
+ print_version ();
+ return 0;
+ }
+
+ return -1;
+}
+
int
main (int argc, char *argv[])
{
@@ -1942,6 +1969,9 @@ main (int argc, char *argv[])
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
+ g_application_add_main_option (G_APPLICATION (app), "version", 0, 0, G_OPTION_ARG_NONE, "Show program version", NULL);
+
+ g_signal_connect (app, "handle-local-options", G_CALLBACK (local_options), NULL);
status = g_application_run (G_APPLICATION (app), argc, argv);
g_object_unref (app);