[gimp] app: Save and restore dialog factories explicitly



commit 87d89ce990485fad482fb2301659b4312add410f
Author: Martin Nordholts <martinn src gnome org>
Date:   Sun Feb 28 16:23:19 2010 +0100

    app: Save and restore dialog factories explicitly
    
    With only one dialog factory around the for-each functions are not
    needed any more. Remove them, starting with save and restore.

 app/gui/session.c               |    4 +-
 app/widgets/gimpdialogfactory.c |   45 ++++----------------------------------
 app/widgets/gimpdialogfactory.h |    6 +++-
 3 files changed, 11 insertions(+), 44 deletions(-)
---
diff --git a/app/gui/session.c b/app/gui/session.c
index 52214c5..6e76c7f 100644
--- a/app/gui/session.c
+++ b/app/gui/session.c
@@ -276,7 +276,7 @@ session_restore (Gimp *gimp)
 {
   g_return_if_fail (GIMP_IS_GIMP (gimp));
 
-  gimp_dialog_factories_session_restore ();
+  gimp_dialog_factory_restore (global_dialog_factory);
 }
 
 void
@@ -315,7 +315,7 @@ session_save (Gimp     *gimp,
   if (!writer)
     return;
 
-  gimp_dialog_factories_session_save (writer);
+  gimp_dialog_factory_save (global_dialog_factory, writer);
   gimp_config_writer_linefeed (writer);
 
   /* save last tip shown
diff --git a/app/widgets/gimpdialogfactory.c b/app/widgets/gimpdialogfactory.c
index c663c73..cb7c38b 100644
--- a/app/widgets/gimpdialogfactory.c
+++ b/app/widgets/gimpdialogfactory.c
@@ -83,12 +83,6 @@ static gboolean    gimp_dialog_factory_set_user_pos         (GtkWidget
 static gboolean    gimp_dialog_factory_dialog_configure     (GtkWidget              *dialog,
                                                              GdkEventConfigure      *cevent,
                                                              GimpDialogFactory      *factory);
-static void        gimp_dialog_factories_save_foreach       (gconstpointer           key,
-                                                             GimpDialogFactory      *factory,
-                                                             GimpConfigWriter       *writer);
-static void        gimp_dialog_factories_restore_foreach    (gconstpointer           key,
-                                                             GimpDialogFactory      *factory,
-                                                             gpointer                data);
 static void        gimp_dialog_factories_hide_foreach       (gconstpointer           key,
                                                              GimpDialogFactory      *factory,
                                                              gpointer                data);
@@ -1049,32 +1043,6 @@ gimp_dialog_factory_hide_dialog (GtkWidget *dialog)
 }
 
 void
-gimp_dialog_factories_session_save (GimpConfigWriter *writer)
-{
-  GimpDialogFactoryClass *factory_class;
-
-  g_return_if_fail (writer != NULL);
-
-  factory_class = g_type_class_peek (GIMP_TYPE_DIALOG_FACTORY);
-
-  g_hash_table_foreach (factory_class->factories,
-                        (GHFunc) gimp_dialog_factories_save_foreach,
-                        writer);
-}
-
-void
-gimp_dialog_factories_session_restore (void)
-{
-  GimpDialogFactoryClass *factory_class;
-
-  factory_class = g_type_class_peek (GIMP_TYPE_DIALOG_FACTORY);
-
-  g_hash_table_foreach (factory_class->factories,
-                        (GHFunc) gimp_dialog_factories_restore_foreach,
-                        NULL);
-}
-
-void
 gimp_dialog_factories_set_state (GimpDialogsState state)
 {
   GimpDialogFactoryClass *factory_class;
@@ -1340,10 +1308,9 @@ gimp_dialog_factory_dialog_configure (GtkWidget         *dialog,
   return FALSE;
 }
 
-static void
-gimp_dialog_factories_save_foreach (gconstpointer      key,
-                                    GimpDialogFactory *factory,
-                                    GimpConfigWriter  *writer)
+void
+gimp_dialog_factory_save (GimpDialogFactory *factory,
+                          GimpConfigWriter  *writer)
 {
   GList *infos;
 
@@ -1377,10 +1344,8 @@ gimp_dialog_factories_save_foreach (gconstpointer      key,
     }
 }
 
-static void
-gimp_dialog_factories_restore_foreach (gconstpointer      key,
-                                       GimpDialogFactory *factory,
-                                       gpointer           data)
+void
+gimp_dialog_factory_restore (GimpDialogFactory *factory)
 {
   GList *infos;
 
diff --git a/app/widgets/gimpdialogfactory.h b/app/widgets/gimpdialogfactory.h
index c14dd46..60b0d30 100644
--- a/app/widgets/gimpdialogfactory.h
+++ b/app/widgets/gimpdialogfactory.h
@@ -158,8 +158,10 @@ void                gimp_dialog_factory_add_foreign          (GimpDialogFactory
 void                gimp_dialog_factory_remove_dialog        (GimpDialogFactory       *factory,
                                                               GtkWidget               *dialog);
 void                gimp_dialog_factory_hide_dialog          (GtkWidget               *dialog);
-void                gimp_dialog_factories_session_save       (GimpConfigWriter        *writer);
-void                gimp_dialog_factories_session_restore    (void);
+void                gimp_dialog_factory_save                 (GimpDialogFactory       *factory,
+                                                              GimpConfigWriter        *writer);
+void                gimp_dialog_factory_restore              (GimpDialogFactory       *factory);
+
 void                gimp_dialog_factories_set_state          (GimpDialogsState         state);
 GimpDialogsState    gimp_dialog_factories_get_state          (void);
 void                gimp_dialog_factories_show_with_display  (void);



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