]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-local-xmpp-assistant-widget.c
GNOME Goal: Update icon names
[empathy.git] / libempathy-gtk / empathy-local-xmpp-assistant-widget.c
index 1ac8fff599815a00e96d23580a8f4e1cf45067a5..f0f6aefecbc0a072e8cbcfca748145d8a5004f5b 100644 (file)
 
 #include <glib/gi18n-lib.h>
 
-#if HAVE_EDS
-#include <libebook/e-book.h>
-#endif
-
-#include <libempathy/empathy-utils.h>
-
-#include <libempathy-gtk/empathy-account-widget.h>
-#include <libempathy-gtk/empathy-ui-utils.h>
+#include "empathy-account-widget.h"
+#include "empathy-ui-utils.h"
+#include "empathy-utils.h"
 
 #define DEBUG_FLAG EMPATHY_DEBUG_ACCOUNT
-#include <libempathy/empathy-debug.h>
+#include "empathy-debug.h"
 
 G_DEFINE_TYPE (EmpathyLocalXmppAssistantWidget,
     empathy_local_xmpp_assistant_widget, GTK_TYPE_GRID)
@@ -58,72 +53,6 @@ empathy_local_xmpp_assistant_widget_init (EmpathyLocalXmppAssistantWidget *self)
       EmpathyLocalXmppAssistantWidgetPrivate);
 }
 
-static EmpathyAccountSettings *
-create_salut_account_settings (void)
-{
-  EmpathyAccountSettings  *settings;
-#if HAVE_EDS
-  EBook *book;
-  EContact *contact;
-  gchar *nickname = NULL;
-  gchar *first_name = NULL;
-  gchar *last_name = NULL;
-  gchar *email = NULL;
-  gchar *jid = NULL;
-  GError *error = NULL;
-#endif
-
-  settings = empathy_account_settings_new ("salut", "local-xmpp", NULL,
-      _("People nearby"));
-
-#if HAVE_EDS
-  /* Get self EContact from EDS */
-  if (!e_book_get_self (&contact, &book, &error))
-    {
-      DEBUG ("Failed to get self econtact: %s", error->message);
-      g_error_free (error);
-      return settings;
-    }
-
-  nickname = e_contact_get (contact, E_CONTACT_NICKNAME);
-  first_name = e_contact_get (contact, E_CONTACT_GIVEN_NAME);
-  last_name = e_contact_get (contact, E_CONTACT_FAMILY_NAME);
-  email = e_contact_get (contact, E_CONTACT_EMAIL_1);
-  jid = e_contact_get (contact, E_CONTACT_IM_JABBER_HOME_1);
-
-  if (!tp_strdiff (nickname, "nickname"))
-    {
-      g_free (nickname);
-      nickname = NULL;
-    }
-
-  DEBUG ("Salut account created:\nnickname=%s\nfirst-name=%s\n"
-     "last-name=%s\nemail=%s\njid=%s\n",
-     nickname, first_name, last_name, email, jid);
-
-  empathy_account_settings_set_string (settings,
-      "nickname", g_variant_new_string (nickname ? nickname : ""));
-  empathy_account_settings_set_ (settings,
-      "first-name", g_variant_new_string (first_name ? first_name : ""));
-  empathy_account_settings_set (settings,
-      "last-name", g_variant_new_string (last_name ? last_name : ""));
-  empathy_account_settings_set (settings, "email",
-      g_variant_new_string (email ? email : ""));
-  empathy_account_settings_set (settings, "jid",
-      g_variant_new_string (jid ? jid : ""));
-
-  g_free (nickname);
-  g_free (first_name);
-  g_free (last_name);
-  g_free (email);
-  g_free (jid);
-  g_object_unref (contact);
-  g_object_unref (book);
-#endif
-
-  return settings;
-}
-
 static void
 handle_apply_cb (EmpathyAccountWidget *widget_object,
     gboolean is_valid,
@@ -158,13 +87,17 @@ empathy_local_xmpp_assistant_widget_constructed (GObject *object)
   gtk_widget_show (w);
 
   pix = empathy_pixbuf_from_icon_name_sized ("im-local-xmpp", 48);
-  w = gtk_image_new_from_pixbuf (pix);
-  gtk_grid_attach (GTK_GRID (self), w, 1, 0, 1, 1);
-  gtk_widget_show (w);
+  if (pix != NULL)
+    {
+      w = gtk_image_new_from_pixbuf (pix);
+      gtk_grid_attach (GTK_GRID (self), w, 1, 0, 1, 1);
+      gtk_widget_show (w);
 
-  g_object_unref (pix);
+      g_object_unref (pix);
+    }
 
-  self->priv->settings = create_salut_account_settings ();
+  self->priv->settings = empathy_account_settings_new ("salut", "local-xmpp",
+      NULL, _("People nearby"));
 
   account_widget = empathy_account_widget_new_for_protocol (
       self->priv->settings, TRUE);
@@ -289,20 +222,20 @@ empathy_local_xmpp_assistant_widget_should_create_account (
   gboolean salut_created = FALSE;
   GList *accounts, *l;
 
-  accounts = tp_account_manager_get_valid_accounts (manager);
+  accounts = tp_account_manager_dup_valid_accounts (manager);
 
   for (l = accounts; l != NULL;  l = g_list_next (l))
     {
       TpAccount *account = TP_ACCOUNT (l->data);
 
-      if (!tp_strdiff (tp_account_get_protocol (account), "local-xmpp"))
+      if (!tp_strdiff (tp_account_get_protocol_name (account), "local-xmpp"))
         {
           salut_created = TRUE;
           break;
         }
     }
 
-  g_list_free (accounts);
+  g_list_free_full (accounts, g_object_unref);
 
   return !salut_created;
 }