#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)
struct _EmpathyLocalXmppAssistantWidgetPrivate
{
- EmpathyAccountSettings *settings;
+ TpawAccountSettings *settings;
};
static void
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)
{
object;
GtkWidget *w;
GdkPixbuf *pix;
- EmpathyAccountWidget *account_widget;
+ TpawAccountWidget *account_widget;
gchar *markup;
G_OBJECT_CLASS (empathy_local_xmpp_assistant_widget_parent_class)->
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);
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);
}
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);
}
/* 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);
}
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);
}
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;
}
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);
}