}
GtkWidget *
-empathy_accounts_dialog_show (GtkWindow *parent)
+empathy_accounts_dialog_show (GtkWindow *parent,
+ McAccount *selected_account)
{
static EmpathyAccountsDialog *dialog = NULL;
GladeXML *glade;
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),
#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
(return-type "GtkWidget*")
(parameters
'("GtkWindow*" "parent")
+ '("McAccount*" "selected_account")
)
)
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),
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
return FALSE;
}
- empathy_accounts_dialog_show (GTK_WINDOW (window->window));
+ empathy_accounts_dialog_show (GTK_WINDOW (window->window), NULL);
return FALSE;
}
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);
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);
}
}
}