]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-local-xmpp-assistant-widget.c
Updated Kannada translation
[empathy.git] / libempathy-gtk / empathy-local-xmpp-assistant-widget.c
index cf38039285de521ddd387c26e55306c9ed7ca2e4..6ee8711a3278d306b27cb34dcdf4db51683bcab5 100644 (file)
 #include "empathy-local-xmpp-assistant-widget.h"
 
 #include <glib/gi18n-lib.h>
+#include <tp-account-widgets/tpaw-account-widget.h>
+#include <tp-account-widgets/tpaw-pixbuf-utils.h>
+#include <tp-account-widgets/tpaw-utils.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-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)
@@ -47,7 +44,7 @@ static gulong signals[LAST_SIGNAL] = { 0, };
 
 struct _EmpathyLocalXmppAssistantWidgetPrivate
 {
-  EmpathyAccountSettings  *settings;
+  TpawAccountSettings  *settings;
 };
 
 static void
@@ -58,72 +55,8 @@ 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", nickname ? nickname : "");
-  empathy_account_settings_set_string (settings,
-      "first-name", first_name ? first_name : "");
-  empathy_account_settings_set_string (settings,
-      "last-name", last_name ? last_name : "");
-  empathy_account_settings_set_string (settings, "email", email ? email : "");
-  empathy_account_settings_set_string (settings, "jid", 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,
+handle_apply_cb (TpawAccountWidget *widget_object,
     gboolean is_valid,
     EmpathyLocalXmppAssistantWidget *self)
 {
@@ -137,7 +70,7 @@ empathy_local_xmpp_assistant_widget_constructed (GObject *object)
     object;
   GtkWidget *w;
   GdkPixbuf *pix;
-  EmpathyAccountWidget *account_widget;
+  TpawAccountWidget *account_widget;
   gchar *markup;
 
   G_OBJECT_CLASS (empathy_local_xmpp_assistant_widget_parent_class)->
@@ -155,18 +88,22 @@ empathy_local_xmpp_assistant_widget_constructed (GObject *object)
   gtk_grid_attach (GTK_GRID (self), w, 0, 0, 1, 1);
   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);
+  pix = tpaw_pixbuf_from_icon_name_sized ("im-local-xmpp", 48);
+  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 = tpaw_account_settings_new ("salut", "local-xmpp",
+      NULL, _("People nearby"));
 
-  account_widget = empathy_account_widget_new_for_protocol (
-      self->priv->settings, TRUE);
-  empathy_account_widget_hide_buttons (account_widget);
+  account_widget = tpaw_account_widget_new_for_protocol (
+      self->priv->settings, NULL, TRUE);
+  tpaw_account_widget_hide_buttons (account_widget);
 
   g_signal_connect (account_widget, "handle-apply",
       G_CALLBACK (handle_apply_cb), self);
@@ -246,7 +183,7 @@ account_enabled_cb (GObject *source,
 
   account_mgr = tp_account_manager_dup ();
 
-  empathy_connect_new_account (account, account_mgr);
+  tpaw_connect_new_account (account, account_mgr);
 
   g_object_unref (account_mgr);
 }
@@ -256,11 +193,11 @@ apply_account_cb (GObject *source,
     GAsyncResult *result,
     gpointer user_data)
 {
-  EmpathyAccountSettings *settings = EMPATHY_ACCOUNT_SETTINGS (source);
+  TpawAccountSettings *settings = TPAW_ACCOUNT_SETTINGS (source);
   TpAccount *account;
   GError *error = NULL;
 
-  if (!empathy_account_settings_apply_finish (settings, result, NULL, &error))
+  if (!tpaw_account_settings_apply_finish (settings, result, NULL, &error))
     {
       DEBUG ("Failed to create account: %s", error->message);
       g_error_free (error);
@@ -268,7 +205,7 @@ apply_account_cb (GObject *source,
     }
 
   /* enable the newly created account */
-  account = empathy_account_settings_get_account (settings);
+  account = tpaw_account_settings_get_account (settings);
   tp_account_set_enabled_async (account, TRUE, account_enabled_cb, NULL);
 }
 
@@ -276,7 +213,7 @@ void
 empathy_local_xmpp_assistant_widget_create_account (
     EmpathyLocalXmppAssistantWidget *self)
 {
-  empathy_account_settings_apply_async (self->priv->settings,
+  tpaw_account_settings_apply_async (self->priv->settings,
       apply_account_cb, NULL);
 }
 
@@ -287,20 +224,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;
 }
@@ -309,5 +246,5 @@ gboolean
 empathy_local_xmpp_assistant_widget_is_valid (
         EmpathyLocalXmppAssistantWidget *self)
 {
-  return empathy_account_settings_is_valid (self->priv->settings);
+  return tpaw_account_settings_is_valid (self->priv->settings);
 }