[gtk+] bloatpad: add a test for GApplication's busy state



commit de6eca952a18e673da50110fd6c37b7c89f43355
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Wed Apr 3 14:19:18 2013 -0400

    bloatpad: add a test for GApplication's busy state
    
    https://bugzilla.gnome.org/show_bug.cgi?id=672018

 examples/bloatpad.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/examples/bloatpad.c b/examples/bloatpad.c
index f5cf1a9..bf31051 100644
--- a/examples/bloatpad.c
+++ b/examples/bloatpad.c
@@ -35,6 +35,29 @@ change_fullscreen_state (GSimpleAction *action,
 }
 
 static void
+change_busy_state (GSimpleAction *action,
+                   GVariant      *state,
+                   gpointer       user_data)
+{
+  GtkWindow *window = user_data;
+  GApplication *application = G_APPLICATION (gtk_window_get_application (window));
+
+  /* do this twice to test multiple busy counter increases */
+  if (g_variant_get_boolean (state))
+    {
+      g_application_mark_busy (application);
+      g_application_mark_busy (application);
+    }
+  else
+    {
+      g_application_unmark_busy (application);
+      g_application_unmark_busy (application);
+    }
+
+  g_simple_action_set_state (action, state);
+}
+
+static void
 change_justify_state (GSimpleAction *action,
                       GVariant      *state,
                       gpointer       user_data)
@@ -94,6 +117,7 @@ static GActionEntry win_entries[] = {
   { "copy", window_copy, NULL, NULL, NULL },
   { "paste", window_paste, NULL, NULL, NULL },
   { "fullscreen", activate_toggle, NULL, "false", change_fullscreen_state },
+  { "busy", activate_toggle, NULL, "false", change_busy_state },
   { "justify", activate_radio, "s", "'left'", change_justify_state }
 };
 
@@ -356,6 +380,10 @@ bloat_pad_startup (GApplication *application)
                                "          <attribute name='action'>win.fullscreen</attribute>"
                                "          <attribute name='accel'>F11</attribute>"
                                "        </item>"
+                               "        <item>"
+                               "          <attribute name='label' translatable='yes'>_Look Busy</attribute>"
+                               "          <attribute name='action'>win.busy</attribute>"
+                               "        </item>"
                                "      </section>"
                                "    </submenu>"
                                "    <submenu id='time-menu'>"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]