diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-02-14 09:39:15 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-02-14 10:56:26 -0500 |
commit | c0a61c2da3c358e71f0d29ceda2e761f5b6878af (patch) | |
tree | c4c4ed2036f841850814c124f50d5e8b7c0b3e9e /demos/gtk-demo/application.c | |
parent | fc90bd5e302f0146ee7fa4cdcaf06b6ffef41e7c (diff) | |
download | gtk+-c0a61c2da3c358e71f0d29ceda2e761f5b6878af.tar.gz |
gtk-demo: Streamline application
Avoid the odd #ifdef STANDALONE construction; we can show
multiple source files nowadays.
Diffstat (limited to 'demos/gtk-demo/application.c')
-rw-r--r-- | demos/gtk-demo/application.c | 101 |
1 files changed, 2 insertions, 99 deletions
diff --git a/demos/gtk-demo/application.c b/demos/gtk-demo/application.c index c85102d46c..289f73a493 100644 --- a/demos/gtk-demo/application.c +++ b/demos/gtk-demo/application.c @@ -1,18 +1,8 @@ -/* Application Class - * - * Demonstrates a simple application. - * - * This examples uses GtkApplication, GtkApplicationWindow, GtkBuilder - * as well as GMenu and GResource. Due to the way GtkApplication is structured, - * it is run as a separate process. - */ #include "config.h" #include <gtk/gtk.h> -#ifdef STANDALONE - typedef GtkApplication DemoApplication; typedef GtkApplicationClass DemoApplicationClass; @@ -356,7 +346,7 @@ startup (GApplication *app) G_APPLICATION_CLASS (demo_application_parent_class)->startup (app); builder = gtk_builder_new (); - gtk_builder_add_from_resource (builder, "/application/menus.ui", NULL); + gtk_builder_add_from_resource (builder, "/application_demo/menus.ui", NULL); appmenu = (GMenuModel *)gtk_builder_get_object (builder, "appmenu"); menubar = (GMenuModel *)gtk_builder_get_object (builder, "menubar"); @@ -528,7 +518,7 @@ demo_application_window_class_init (DemoApplicationWindowClass *class) widget_class->window_state_event = demo_application_window_state_event; widget_class->destroy = demo_application_window_destroy; - gtk_widget_class_set_template_from_resource (widget_class, "/application/application.ui"); + gtk_widget_class_set_template_from_resource (widget_class, "/application_demo/application.ui"); gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, message); gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, infobar); gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, status); @@ -552,90 +542,3 @@ main (int argc, char *argv[]) return g_application_run (G_APPLICATION (app), 0, NULL); } - -#else /* !STANDALONE */ - -static gboolean name_seen; -static GtkWidget *placeholder; - -static void -on_name_appeared (GDBusConnection *connection, - const gchar *name, - const gchar *name_owner, - gpointer user_data) -{ - name_seen = TRUE; -} - -static void -on_name_vanished (GDBusConnection *connection, - const gchar *name, - gpointer user_data) -{ - if (!name_seen) - return; - - if (placeholder) - { - gtk_widget_destroy (placeholder); - g_object_unref (placeholder); - placeholder = NULL; - } -} - -#ifdef G_OS_WIN32 -#define APP_EXTENSION ".exe" -#else -#define APP_EXTENSION -#endif - -GtkWidget * -do_application (GtkWidget *toplevel) -{ - static guint watch = 0; - - if (watch == 0) - watch = g_bus_watch_name (G_BUS_TYPE_SESSION, - "org.gtk.Demo2", - 0, - on_name_appeared, - on_name_vanished, - NULL, NULL); - - if (placeholder == NULL) - { - const gchar *command; - GError *error = NULL; - - if (g_file_test ("./gtk3-demo-application" APP_EXTENSION, G_FILE_TEST_IS_EXECUTABLE)) - command = "./gtk3-demo-application" APP_EXTENSION; - else - command = "gtk3-demo-application"; - - if (!g_spawn_command_line_async (command, &error)) - { - g_warning ("%s", error->message); - g_error_free (error); - } - - placeholder = gtk_label_new (""); - g_object_ref_sink (placeholder); - } - else - { - g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL), - "org.gtk.Demo2", - "/org/gtk/Demo2", - "org.gtk.Actions", - "Activate", - g_variant_new ("(sava{sv})", "quit", NULL, NULL), - NULL, - 0, - G_MAXINT, - NULL, NULL); - } - - return placeholder; -} - -#endif |