empathy r622 - in trunk: libempathy-gtk python/pyempathygtk



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")



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