[gimp] app: Set_busy() on individual dialog factories



commit 2a51c69e9bf7e280cd6b323d302906daeb96bf40
Author: Martin Nordholts <martinn src gnome org>
Date:   Sun Feb 28 19:13:14 2010 +0100

    app: Set_busy() on individual dialog factories

 app/gui/gui-vtable.c            |    4 +-
 app/widgets/gimpdialogfactory.c |   51 +++++++-------------------------------
 app/widgets/gimpdialogfactory.h |    5 +--
 3 files changed, 14 insertions(+), 46 deletions(-)
---
diff --git a/app/gui/gui-vtable.c b/app/gui/gui-vtable.c
index 5432e71..917efa9 100644
--- a/app/gui/gui-vtable.c
+++ b/app/gui/gui-vtable.c
@@ -199,7 +199,7 @@ static void
 gui_set_busy (Gimp *gimp)
 {
   gimp_displays_set_busy (gimp);
-  gimp_dialog_factories_set_busy ();
+  gimp_dialog_factory_set_busy (global_dialog_factory);
 
   gdk_flush ();
 }
@@ -208,7 +208,7 @@ static void
 gui_unset_busy (Gimp *gimp)
 {
   gimp_displays_unset_busy (gimp);
-  gimp_dialog_factories_unset_busy ();
+  gimp_dialog_factory_unset_busy (global_dialog_factory);
 
   gdk_flush ();
 }
diff --git a/app/widgets/gimpdialogfactory.c b/app/widgets/gimpdialogfactory.c
index cc3942c..fcc0114 100644
--- a/app/widgets/gimpdialogfactory.c
+++ b/app/widgets/gimpdialogfactory.c
@@ -87,12 +87,6 @@ static gboolean    gimp_dialog_factory_dialog_configure     (GtkWidget
                                                              GimpDialogFactory      *factory);
 static void        gimp_dialog_factory_hide                 (GimpDialogFactory      *factory);
 static void        gimp_dialog_factory_show                 (GimpDialogFactory      *factory);
-static void        gimp_dialog_factories_set_busy_foreach   (gconstpointer           key,
-                                                             GimpDialogFactory      *factory,
-                                                             gpointer                data);
-static void        gimp_dialog_factories_unset_busy_foreach (gconstpointer           key,
-                                                             GimpDialogFactory      *factory,
-                                                             gpointer                data);
 
 
 G_DEFINE_TYPE (GimpDialogFactory, gimp_dialog_factory, GIMP_TYPE_OBJECT)
@@ -1089,33 +1083,6 @@ gimp_dialog_factory_hide_with_display (GimpDialogFactory *factory)
     }
 }
 
-void
-gimp_dialog_factories_set_busy (void)
-{
-  GimpDialogFactoryClass *factory_class;
-
-  factory_class = g_type_class_peek (GIMP_TYPE_DIALOG_FACTORY);
-
-  if (factory_class)
-    g_hash_table_foreach (factory_class->factories,
-                          (GHFunc) gimp_dialog_factories_set_busy_foreach,
-                          NULL);
-}
-
-void
-gimp_dialog_factories_unset_busy (void)
-{
-  GimpDialogFactoryClass *factory_class;
-
-  factory_class = g_type_class_peek (GIMP_TYPE_DIALOG_FACTORY);
-
-  if (factory_class)
-    g_hash_table_foreach (factory_class->factories,
-                          (GHFunc) gimp_dialog_factories_unset_busy_foreach,
-                          NULL);
-}
-
-
 static GQuark gimp_dialog_factory_key       = 0;
 static GQuark gimp_dialog_factory_entry_key = 0;
 
@@ -1443,15 +1410,16 @@ gimp_dialog_factory_show (GimpDialogFactory *factory)
     }
 }
 
-static void
-gimp_dialog_factories_set_busy_foreach (gconstpointer      key,
-                                        GimpDialogFactory *factory,
-                                        gpointer           data)
+void
+gimp_dialog_factory_set_busy (GimpDialogFactory *factory)
 {
   GdkDisplay *display = NULL;
   GdkCursor  *cursor  = NULL;
   GList      *list;
 
+  if (! factory)
+    return;
+
   for (list = factory->p->open_dialogs; list; list = g_list_next (list))
     {
       GtkWidget *widget = list->data;
@@ -1481,13 +1449,14 @@ gimp_dialog_factories_set_busy_foreach (gconstpointer      key,
     gdk_cursor_unref (cursor);
 }
 
-static void
-gimp_dialog_factories_unset_busy_foreach (gconstpointer      key,
-                                          GimpDialogFactory *factory,
-                                          gpointer           data)
+void
+gimp_dialog_factory_unset_busy (GimpDialogFactory *factory)
 {
   GList *list;
 
+  if (! factory)
+    return;
+
   for (list = factory->p->open_dialogs; list; list = g_list_next (list))
     {
       GtkWidget *widget = list->data;
diff --git a/app/widgets/gimpdialogfactory.h b/app/widgets/gimpdialogfactory.h
index 07b940b..f946048 100644
--- a/app/widgets/gimpdialogfactory.h
+++ b/app/widgets/gimpdialogfactory.h
@@ -166,9 +166,8 @@ void                gimp_dialog_factory_set_state            (GimpDialogFactory
 GimpDialogsState    gimp_dialog_factory_get_state            (GimpDialogFactory       *factory);
 void                gimp_dialog_factory_show_with_display    (GimpDialogFactory       *factory);
 void                gimp_dialog_factory_hide_with_display    (GimpDialogFactory       *factory);
-
-void                gimp_dialog_factories_set_busy           (void);
-void                gimp_dialog_factories_unset_busy         (void);
+void                gimp_dialog_factory_set_busy             (GimpDialogFactory       *factory);
+void                gimp_dialog_factory_unset_busy           (GimpDialogFactory       *factory);
 GimpDialogFactory * gimp_dialog_factory_from_widget          (GtkWidget               *dialog,
                                                               GimpDialogFactoryEntry **entry);
 void                gimp_dialog_factory_set_has_min_size     (GtkWindow               *window,



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