From 34155dce06da98803049b7bea34c3d4501a479c4 Mon Sep 17 00:00:00 2001
From: Jonny Lamb <jonny.lamb@collabora.co.uk>
Date: Fri, 17 Oct 2008 12:47:48 +0000
Subject: Removed empathy_import_dialog_accounts_to_import to stop the accounts
 being parsed twice. (Jonny Lamb)

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

svn path=/trunk/; revision=1630
---
 src/empathy-accounts-dialog.c | 45 ++++++++++++-------------------------------
 src/empathy-import-dialog.c   | 36 ++++++++++++++--------------------
 src/empathy-import-dialog.h   |  3 +--
 3 files changed, 27 insertions(+), 57 deletions(-)

diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 344a34d17..c510f4dc8 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -1007,7 +1007,7 @@ static void
 accounts_dialog_button_import_clicked_cb (GtkWidget             *button,
 					  EmpathyAccountsDialog *dialog)
 {
-	empathy_import_dialog_show (GTK_WINDOW (dialog->window));
+	empathy_import_dialog_show (GTK_WINDOW (dialog->window), TRUE);
 }
 
 static void
@@ -1020,36 +1020,6 @@ accounts_dialog_response_cb (GtkWidget            *widget,
 	}
 }
 
-static void
-accounts_dialog_accounts_to_import (EmpathyAccountsDialog *dialog)
-{
-	GtkWidget *message;
-	gint response;
-	gboolean ask;
-
-	empathy_conf_get_bool (empathy_conf_get (),
-				 EMPATHY_PREFS_IMPORT_ASKED, &ask);
-
-	if (ask)
-		return;
-
-	empathy_conf_set_bool (empathy_conf_get (),
-				 EMPATHY_PREFS_IMPORT_ASKED, TRUE);
-
-	message = gtk_message_dialog_new (GTK_WINDOW (dialog->window),
-					  GTK_DIALOG_MODAL,
-					  GTK_MESSAGE_QUESTION,
-					  GTK_BUTTONS_YES_NO,
-					  _("Do you want to import accounts"
-					    " from Pidgin?"));
-
-	response = gtk_dialog_run (GTK_DIALOG (message));
-	gtk_widget_destroy (message);
-
-	if (response == GTK_RESPONSE_YES)
-		empathy_import_dialog_show (GTK_WINDOW (dialog->window));
-}
-
 static void
 accounts_dialog_destroy_cb (GtkWidget            *widget,
 			    EmpathyAccountsDialog *dialog)
@@ -1105,6 +1075,8 @@ empathy_accounts_dialog_show (GtkWindow *parent,
 	GladeXML                     *glade;
 	gchar                        *filename;
 	GList                        *accounts, *l;
+	gboolean                      import;
+
 
 	if (dialog) {
 		gtk_window_present (GTK_WINDOW (dialog->window));
@@ -1208,8 +1180,15 @@ empathy_accounts_dialog_show (GtkWindow *parent,
 
 	gtk_widget_show (dialog->window);
 
-	if (empathy_import_dialog_accounts_to_import ())
-		accounts_dialog_accounts_to_import (dialog);
+	empathy_conf_get_bool (empathy_conf_get (),
+			       EMPATHY_PREFS_IMPORT_ASKED, &import);
+
+	if (!import) {
+		empathy_conf_set_bool (empathy_conf_get (),
+				       EMPATHY_PREFS_IMPORT_ASKED, TRUE);
+		empathy_import_dialog_show (GTK_WINDOW (dialog->window),
+					    FALSE);
+	}
 
 	return dialog->window;
 }
diff --git a/src/empathy-import-dialog.c b/src/empathy-import-dialog.c
index 546109d87..35d77e8d5 100644
--- a/src/empathy-import-dialog.c
+++ b/src/empathy-import-dialog.c
@@ -416,21 +416,6 @@ FILENAME:
   return accounts;
 }
 
-gboolean
-empathy_import_dialog_accounts_to_import (void)
-{
-  GList *list;
-  gboolean out;
-
-  list = import_dialog_pidgin_load ();
-
-  out = (g_list_length (list) > 0);
-
-  g_list_free (list);
-
-  return out;
-}
-
 static gboolean
 import_dialog_tree_model_foreach (GtkTreeModel *model,
                                   GtkTreePath *path,
@@ -669,7 +654,8 @@ import_dialog_set_up_account_list (EmpathyImportDialog *dialog)
 }
 
 void
-empathy_import_dialog_show (GtkWindow *parent)
+empathy_import_dialog_show (GtkWindow *parent,
+                            gboolean warning)
 {
   static EmpathyImportDialog *dialog = NULL;
   GladeXML *glade;
@@ -689,13 +675,19 @@ empathy_import_dialog_show (GtkWindow *parent)
     {
       GtkWidget *message;
 
-      message = gtk_message_dialog_new (parent,
-          GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
-          _("No accounts to import could be found. Empathy currently only "
-            "supports importing accounts from Pidgin."));
+      if (warning)
+        {
+          message = gtk_message_dialog_new (parent,
+              GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
+              _("No accounts to import could be found. Empathy currently only "
+                "supports importing accounts from Pidgin."));
+
+          gtk_dialog_run (GTK_DIALOG (message));
+          gtk_widget_destroy (message);
+        }
+      else
+        DEBUG ("No accounts to import; closing dialog silently.");
 
-      gtk_dialog_run (GTK_DIALOG (message));
-      gtk_widget_destroy (message);
       import_dialog_free (dialog);
       dialog = NULL;
       return;
diff --git a/src/empathy-import-dialog.h b/src/empathy-import-dialog.h
index 5b651f8e9..55ad8fb6e 100644
--- a/src/empathy-import-dialog.h
+++ b/src/empathy-import-dialog.h
@@ -26,8 +26,7 @@
 
 G_BEGIN_DECLS
 
-gboolean empathy_import_dialog_accounts_to_import (void);
-void empathy_import_dialog_show (GtkWindow *parent);
+void empathy_import_dialog_show (GtkWindow *parent, gboolean warning);
 
 G_END_DECLS
 
-- 
cgit v1.2.3