empathy r1192 - in trunk: libempathy-gtk python/pyempathygtk src



Author: xclaesse
Date: Fri Jul  4 09:41:34 2008
New Revision: 1192
URL: http://svn.gnome.org/viewvc/empathy?rev=1192&view=rev

Log:
Select the bugged account upon a failed connection. Fixes bug #536984 (Jonny Lamb).

When a connection fails, a box in the main window appears with an "Edit
Account" button. Clicking this button takes you to the account editor,
but does nothing else. This patch moves the selection to the bugged
account, for convenience.

Signed-off-by: Jonny Lamb <jonny lamb collabora co uk>


Modified:
   trunk/libempathy-gtk/empathy-accounts-dialog.c
   trunk/libempathy-gtk/empathy-accounts-dialog.h
   trunk/python/pyempathygtk/pyempathygtk.defs
   trunk/src/empathy-accounts.c
   trunk/src/empathy-main-window.c
   trunk/src/empathy-status-icon.c

Modified: trunk/libempathy-gtk/empathy-accounts-dialog.c
==============================================================================
--- trunk/libempathy-gtk/empathy-accounts-dialog.c	(original)
+++ trunk/libempathy-gtk/empathy-accounts-dialog.c	Fri Jul  4 09:41:34 2008
@@ -1003,7 +1003,8 @@
 }
 
 GtkWidget *
-empathy_accounts_dialog_show (GtkWindow *parent)
+empathy_accounts_dialog_show (GtkWindow *parent,
+			      McAccount *selected_account)
 {
 	static EmpathyAccountsDialog *dialog = NULL;
 	GladeXML                     *glade;
@@ -1086,7 +1087,12 @@
 
 	accounts_dialog_model_setup (dialog);
 	accounts_dialog_setup (dialog);
-	accounts_dialog_model_select_first (dialog);
+
+	if (selected_account) {
+		accounts_dialog_model_set_selected (dialog, selected_account);
+	} else {
+		accounts_dialog_model_select_first (dialog);
+	}
 
 	if (parent) {
 		gtk_window_set_transient_for (GTK_WINDOW (dialog->window),

Modified: trunk/libempathy-gtk/empathy-accounts-dialog.h
==============================================================================
--- trunk/libempathy-gtk/empathy-accounts-dialog.h	(original)
+++ trunk/libempathy-gtk/empathy-accounts-dialog.h	Fri Jul  4 09:41:34 2008
@@ -27,9 +27,12 @@
 
 #include <gtk/gtkwidget.h>
 
+#include <libmissioncontrol/mc-account.h>
+
 G_BEGIN_DECLS
 
-GtkWidget *empathy_accounts_dialog_show (GtkWindow *parent);
+GtkWidget *empathy_accounts_dialog_show (GtkWindow *parent,
+					 McAccount *selected_account);
 
 G_END_DECLS
 

Modified: trunk/python/pyempathygtk/pyempathygtk.defs
==============================================================================
--- trunk/python/pyempathygtk/pyempathygtk.defs	(original)
+++ trunk/python/pyempathygtk/pyempathygtk.defs	Fri Jul  4 09:41:34 2008
@@ -418,6 +418,7 @@
   (return-type "GtkWidget*")
   (parameters
     '("GtkWindow*" "parent")
+    '("McAccount*" "selected_account")
   )
 )
 

Modified: trunk/src/empathy-accounts.c
==============================================================================
--- trunk/src/empathy-accounts.c	(original)
+++ trunk/src/empathy-accounts.c	Fri Jul  4 09:41:34 2008
@@ -53,7 +53,7 @@
 
 	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
 					   PKGDATADIR G_DIR_SEPARATOR_S "icons");
-	dialog = empathy_accounts_dialog_show (NULL);
+	dialog = empathy_accounts_dialog_show (NULL, NULL);
 
 	g_signal_connect (dialog, "destroy",
 			  G_CALLBACK (destroy_cb),

Modified: trunk/src/empathy-main-window.c
==============================================================================
--- trunk/src/empathy-main-window.c	(original)
+++ trunk/src/empathy-main-window.c	Fri Jul  4 09:41:34 2008
@@ -645,7 +645,7 @@
 main_window_edit_accounts_cb (GtkWidget         *widget,
 			      EmpathyMainWindow *window)
 {
-	empathy_accounts_dialog_show (GTK_WINDOW (window->window));
+	empathy_accounts_dialog_show (GTK_WINDOW (window->window), NULL);
 }
 
 static void
@@ -710,7 +710,7 @@
 		return FALSE;
 	}
 
-	empathy_accounts_dialog_show (GTK_WINDOW (window->window));
+	empathy_accounts_dialog_show (GTK_WINDOW (window->window), NULL);
 
 	return FALSE;
 }
@@ -722,9 +722,9 @@
 	McAccount *account;
 	GtkWidget *error_widget;
 
-	empathy_accounts_dialog_show (GTK_WINDOW (window->window));
-
 	account = g_object_get_data (G_OBJECT (button), "account");
+	empathy_accounts_dialog_show (GTK_WINDOW (window->window), account);
+
 	error_widget = g_hash_table_lookup (window->errors, account);
 	gtk_widget_destroy (error_widget);
 	g_hash_table_remove (window->errors, account);

Modified: trunk/src/empathy-status-icon.c
==============================================================================
--- trunk/src/empathy-status-icon.c	(original)
+++ trunk/src/empathy-status-icon.c	Fri Jul  4 09:41:34 2008
@@ -283,7 +283,7 @@
 			mc_accounts_list_free (accounts);
 		} else {
 			DEBUG ("No enabled account, Showing account dialog");
-			empathy_accounts_dialog_show (GTK_WINDOW (priv->window));
+			empathy_accounts_dialog_show (GTK_WINDOW (priv->window), NULL);
 		}
 	}
 }



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