Author: xclaesse
Date: Sun Feb 10 20:25:51 2008
New Revision: 622
URL: http://svn.gnome.org/viewvc/empathy?rev=622&view=rev

Log:
Change a bit the generic account setting API.


Modified:
   trunk/libempathy-gtk/empathy-account-widget.c
   trunk/libempathy-gtk/empathy-account-widget.h
   trunk/libempathy-gtk/empathy-ui-utils.c
   trunk/libempathy-gtk/empathy-ui-utils.h
   trunk/python/pyempathygtk/pyempathygtk.defs

Modified: trunk/libempathy-gtk/empathy-account-widget.c
==============================================================================
--- trunk/libempathy-gtk/empathy-account-widget.c       (original)
+++ trunk/libempathy-gtk/empathy-account-widget.c       Sun Feb 10 20:25:51 2008
@@ -73,7 +73,7 @@
        const gchar *param_name;
        gint         value;
 
-       value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
+       value = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget));
        param_name = g_object_get_data (G_OBJECT (widget), "param_name");
 
        if (value == 0) {
@@ -84,7 +84,7 @@
                empathy_debug (DEBUG_DOMAIN, "Unset %s and restore to %d", 
param_name, val);
                gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), val);
        } else {
-               empathy_debug (DEBUG_DOMAIN, "Setting %s to %d", param_name, 
(gint) value);
+               empathy_debug (DEBUG_DOMAIN, "Setting %s to %d", param_name, 
value);
                mc_account_set_param_int (account, param_name, (gint) value);
        }
 }
@@ -165,20 +165,14 @@
 }
 
 static void
-account_widget_destroy_cb (GtkWidget *widget,
-                          McAccount *account)
-{
-       empathy_debug (DEBUG_DOMAIN, "destroyed!");
-       g_object_unref (account);
-}
-
-static void
 account_widget_setup_widget (GtkWidget   *widget,
                             McAccount   *account,
                             const gchar *param_name)
 {
        g_object_set_data_full (G_OBJECT (widget), "param_name", 
                                g_strdup (param_name), g_free);
+       g_object_set_data_full (G_OBJECT (widget), "account", 
+                               g_object_ref (account), g_object_unref);
 
        if (GTK_IS_SPIN_BUTTON (widget)) {
                gint value = 0;
@@ -372,12 +366,11 @@
        g_object_unref (protocol);
 }
 
-static GtkWidget *
-account_widget_new_valist (McAccount   *account,
-                          GladeXML    *gui,
-                          const gchar *root,
-                          const gchar *first_widget_name,
-                          va_list      args)
+static void
+account_widget_handle_params_valist (McAccount   *account,
+                                    GladeXML    *gui,
+                                    const gchar *first_widget_name,
+                                    va_list      args)
 {
        GtkWidget   *widget;
        const gchar *widget_name;
@@ -396,34 +389,23 @@
 
                account_widget_setup_widget (widget, account, param_name);
        }
-
-       widget = glade_xml_get_widget (gui, root);
-       g_signal_connect (widget, "destroy",
-                         G_CALLBACK (account_widget_destroy_cb),
-                         g_object_ref (account));
-
-       return widget;
 }
 
-GtkWidget *
-empathy_account_widget_new_with_glade (McAccount   *account,
-                                      GladeXML    *gui,
-                                      const gchar *root,
-                                      const gchar *first_widget_name,
-                                      ...)
+void
+empathy_account_widget_handle_params (McAccount   *account,
+                                     GladeXML    *gui,
+                                     const gchar *first_widget_name,
+                                     ...)
 {
-       GtkWidget *widget;
-       va_list    args;
+       va_list args;
 
-       g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
+       g_return_if_fail (MC_IS_ACCOUNT (account));
 
        va_start (args, first_widget_name);
-       widget = account_widget_new_valist (account, gui, root,
-                                           first_widget_name,
-                                           args);
+       account_widget_handle_params_valist (account, gui,
+                                            first_widget_name,
+                                            args);
        va_end (args);
-
-       return widget;
 }
 
 void
@@ -449,10 +431,6 @@
        g_signal_connect (entry_password, "changed",
                          G_CALLBACK (account_widget_password_changed_cb),
                          button_forget);
-
-       g_object_set_data_full (G_OBJECT (entry_password), "account",
-                               g_object_ref (account),
-                               g_object_unref);
 }
 
 GtkWidget *
@@ -475,10 +453,6 @@
        
        accounts_widget_generic_setup (account, table_settings);
 
-       g_signal_connect (sw, "destroy",
-                         G_CALLBACK (account_widget_destroy_cb),
-                         g_object_ref (account));
-
        gtk_widget_show_all (sw);
 
        return sw;
@@ -490,12 +464,13 @@
        GladeXML  *glade;
        GtkWidget *widget;
 
-       glade = empathy_glade_get ("empathy-account-widget-salut.glade",
-                                  "vbox_salut_settings",
-                                  NULL);
+       glade = empathy_glade_get_file ("empathy-account-widget-salut.glade",
+                                       "vbox_salut_settings",
+                                       NULL,
+                                       "vbox_salut_settings", &widget,
+                                       NULL);
 
-       widget = empathy_account_widget_new_with_glade (account, glade,
-                       "vbox_salut_settings",
+       empathy_account_widget_handle_params (account, glade,
                        "entry_published", "published-name",
                        "entry_nickname", "nickname",
                        "entry_first_name", "first-name",
@@ -517,12 +492,13 @@
        GladeXML  *glade;
        GtkWidget *widget;
 
-       glade = empathy_glade_get ("empathy-account-widget-msn.glade",
-                                  "vbox_msn_settings",
-                                  NULL);
+       glade = empathy_glade_get_file ("empathy-account-widget-msn.glade",
+                                       "vbox_msn_settings",
+                                       NULL,
+                                       "vbox_msn_settings", &widget,
+                                       NULL);
 
-       widget = empathy_account_widget_new_with_glade (account, glade,
-                       "vbox_msn_settings",
+       empathy_account_widget_handle_params (account, glade,
                        "entry_id", "account",
                        "entry_password", "password",
                        "entry_server", "server",
@@ -551,12 +527,12 @@
        glade = empathy_glade_get_file ("empathy-account-widget-jabber.glade",
                                        "vbox_jabber_settings",
                                        NULL,
+                                       "vbox_jabber_settings", &widget,
                                        "spinbutton_port", &spinbutton_port,
                                        "checkbutton_ssl", &checkbutton_ssl,
                                        NULL);
 
-       widget = empathy_account_widget_new_with_glade (account, glade,
-                       "vbox_jabber_settings",
+       empathy_account_widget_handle_params (account, glade,
                        "entry_id", "account",
                        "entry_password", "password",
                        "entry_resource", "resource",
@@ -576,10 +552,6 @@
                          G_CALLBACK (account_widget_jabber_ssl_toggled_cb),
                          spinbutton_port);
 
-       g_object_set_data_full (G_OBJECT (spinbutton_port), "account",
-                               g_object_ref (account),
-                               g_object_unref);
-
        g_object_unref (glade);
 
        gtk_widget_show (widget);

Modified: trunk/libempathy-gtk/empathy-account-widget.h
==============================================================================
--- trunk/libempathy-gtk/empathy-account-widget.h       (original)
+++ trunk/libempathy-gtk/empathy-account-widget.h       Sun Feb 10 20:25:51 2008
@@ -32,9 +32,8 @@
 
 G_BEGIN_DECLS
 
-GtkWidget *empathy_account_widget_new_with_glade    (McAccount   *account,
+void       empathy_account_widget_handle_params     (McAccount   *account,
                                                     GladeXML    *glade,
-                                                    const gchar *root,
                                                     const gchar 
*first_widget_name,
                                                     ...);
 void       emapthy_account_widget_add_forget_button (McAccount   *account,

Modified: trunk/libempathy-gtk/empathy-ui-utils.c
==============================================================================
--- trunk/libempathy-gtk/empathy-ui-utils.c     (original)
+++ trunk/libempathy-gtk/empathy-ui-utils.c     Sun Feb 10 20:25:51 2008
@@ -53,13 +53,17 @@
        gboolean preserve_aspect_ratio;
 };
 
-GladeXML *
-empathy_glade_get (const gchar *filename,
-                  const gchar *root,
-                  const gchar *domain)
+static GladeXML *
+get_glade_file (const gchar *filename,
+               const gchar *root,
+               const gchar *domain,
+               const gchar *first_required_widget,
+               va_list      args)
 {
-       GladeXML *gui;
-       gchar    *path;
+       GladeXML   *gui;
+       gchar      *path;
+       const char *name;
+       GtkWidget **widget_ptr;
 
        path = g_build_filename (UNINSTALLED_GLADE_DIR, filename, NULL);
        if (!g_file_test (path, G_FILE_TEST_EXISTS)) {
@@ -75,22 +79,6 @@
                g_warning ("Couldn't find necessary glade file '%s'", filename);
        }
 
-       return gui;
-}
-
-static GladeXML *
-get_glade_file (const gchar *filename,
-               const gchar *root,
-               const gchar *domain,
-               const gchar *first_required_widget,
-               va_list      args)
-{
-       GladeXML   *gui;
-       const char *name;
-       GtkWidget **widget_ptr;
-
-       gui = empathy_glade_get (filename, root, domain);
-
        for (name = first_required_widget; name; name = va_arg (args, char *)) {
                widget_ptr = va_arg (args, void *);
 

Modified: trunk/libempathy-gtk/empathy-ui-utils.h
==============================================================================
--- trunk/libempathy-gtk/empathy-ui-utils.h     (original)
+++ trunk/libempathy-gtk/empathy-ui-utils.h     Sun Feb 10 20:25:51 2008
@@ -47,9 +47,6 @@
 #define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0')
 
 /* Glade */
-GladeXML *      empathy_glade_get                       (const gchar      
*filename,
-                                                        const gchar      *root,
-                                                        const gchar      
*domain);
 void            empathy_glade_get_file_simple           (const gchar      
*filename,
                                                         const gchar      *root,
                                                         const gchar      
*domain,

Modified: trunk/python/pyempathygtk/pyempathygtk.defs
==============================================================================
--- trunk/python/pyempathygtk/pyempathygtk.defs (original)
+++ trunk/python/pyempathygtk/pyempathygtk.defs Sun Feb 10 20:25:51 2008
@@ -322,13 +322,12 @@
 
 ;; From empathy-account-widget.h
 
-(define-function empathy_account_widget_new_with_glade
-  (c-name "empathy_account_widget_new_with_glade")
-  (return-type "GtkWidget*")
+(define-function empathy_account_widget_handle_params
+  (c-name "empathy_account_widget_handle_params")
+  (return-type "none")
   (parameters
     '("McAccount*" "account")
     '("GladeXML*" "glade")
-    '("const-gchar*" "root")
     '("const-gchar*" "first_widget_name")
   )
   (varargs #t)
@@ -1880,16 +1879,6 @@
 
 ;; From empathy-ui-utils.h
 
-(define-function empathy_glade_get
-  (c-name "empathy_glade_get")
-  (return-type "GladeXML*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "root")
-    '("const-gchar*" "domain")
-  )
-)
-
 (define-function empathy_glade_get_file_simple
   (c-name "empathy_glade_get_file_simple")
   (return-type "none")
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list

Want to limit the commits to a few modules? Go to above URL, log in to edit 
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development 
mailing list. Email [EMAIL PROTECTED] if interested.

Reply via email to