/* empathy-import-widget.c */
+#include <config.h>
+
#include "empathy-import-dialog.h"
#include "empathy-import-widget.h"
#include "empathy-import-pidgin.h"
#include <telepathy-glib/account-manager.h>
#include <telepathy-glib/util.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
G_DEFINE_TYPE (EmpathyImportWidget, empathy_import_widget, G_TYPE_OBJECT)
GAsyncResult *result,
gpointer user_data)
{
+ TpAccountManager *account_manager;
TpAccount *account;
GError *error = NULL;
EmpathyImportWidget *self = user_data;
DEBUG ("account created\n");
+ if (tp_account_is_enabled (account))
+ {
+ account_manager = tp_account_manager_dup ();
+ empathy_connect_new_account (account, account_manager);
+ g_object_unref (account_manager);
+ }
+
g_object_unref (self);
}
DEBUG ("display name: %s\n", display_name);
- properties = g_hash_table_new (NULL, NULL);
+ properties = tp_asv_new (NULL, NULL);
+ tp_asv_set_boolean (properties, TP_IFACE_ACCOUNT ".Enabled", data->enabled);
tp_account_manager_create_account_async (account_manager,
(const gchar*) data->connection_manager, data->protocol, display_name,
}
static void
-import_widget_cms_ready_cb (EmpathyConnectionManagers *cms,
- GParamSpec *pspec,
- EmpathyImportWidget *self)
+import_widget_cms_prepare_cb (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
{
- if (empathy_connection_managers_is_ready (cms))
- import_widget_set_up_account_list (self);
+ EmpathyImportWidget *self = user_data;
+
+ if (!empathy_connection_managers_prepare_finish (
+ EMPATHY_CONNECTION_MANAGERS (source), result, NULL))
+ return;
+
+ import_widget_set_up_account_list (self);
}
static void
g_signal_connect (priv->vbox, "destroy",
G_CALLBACK (import_widget_destroy_cb), self);
- if (empathy_connection_managers_is_ready (priv->cms))
- import_widget_set_up_account_list (self);
- else
- g_signal_connect (priv->cms, "notify::ready",
- G_CALLBACK (import_widget_cms_ready_cb), self);
+ empathy_connection_managers_prepare_async (priv->cms,
+ import_widget_cms_prepare_cb, self);
}
static void