#include "empathy-new-account-dialog.h"
#include <glib/gi18n-lib.h>
+#include <tp-account-widgets/tpaw-account-widget.h>
-#define DEBUG_FLAG EMPATHY_DEBUG_ACCOUNT
-#include <libempathy/empathy-debug.h>
+#include "empathy-protocol-chooser.h"
-#include <libempathy-gtk/empathy-account-widget.h>
-#include <libempathy-gtk/empathy-protocol-chooser.h>
+#define DEBUG_FLAG EMPATHY_DEBUG_ACCOUNT
+#include "empathy-debug.h"
G_DEFINE_TYPE (EmpathyNewAccountDialog, empathy_new_account_dialog, \
GTK_TYPE_DIALOG)
struct _EmpathyNewAccountDialogPrivate
{
GtkWidget *chooser;
- GtkWidget *current_account_widget;
+ TpawAccountWidget *current_account_widget;
GtkWidget *main_vbox;
GtkWidget *connect_button;
- EmpathyAccountWidget *current_widget_object;
- EmpathyAccountSettings *settings;
+ TpawAccountSettings *settings;
};
static void
-account_created_cb (EmpathyAccountWidget *widget,
- TpAccount *account,
- EmpathyNewAccountDialog *self)
-{
- gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
-}
-
-static void
-cancelled_cb (EmpathyAccountWidget *widget,
+close_cb (TpawAccountWidget *widget,
+ GtkResponseType response,
EmpathyNewAccountDialog *self)
{
- gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_CANCEL);
+ gtk_dialog_response (GTK_DIALOG (self), response);
}
static void
protocol_changed_cb (GtkComboBox *chooser,
EmpathyNewAccountDialog *self)
{
- EmpathyAccountSettings *settings;
- GtkWidget *account_widget;
- EmpathyAccountWidget *widget_object;
+ TpawAccountSettings *settings;
+ TpawAccountWidget *account_widget;
gchar *password = NULL, *account = NULL;
settings = empathy_protocol_chooser_create_account_settings (
/* Save "account" and "password" parameters */
if (self->priv->settings != NULL)
{
- account = g_strdup (empathy_account_settings_get_string (
- self->priv->settings, "account"));
+ account = tpaw_account_settings_dup_string (
+ self->priv->settings, "account");
- password = g_strdup (empathy_account_settings_get_string (
- self->priv->settings, "password"));
+ password = tpaw_account_settings_dup_string (
+ self->priv->settings, "password");
g_object_unref (self->priv->settings);
}
- widget_object = empathy_account_widget_new_for_protocol (settings, TRUE);
- account_widget = empathy_account_widget_get_widget (widget_object);
+ account_widget = tpaw_account_widget_new_for_protocol (settings,
+ NULL, TRUE);
if (self->priv->current_account_widget != NULL)
{
- g_signal_handlers_disconnect_by_func (self->priv->current_widget_object,
- account_created_cb, self);
- g_signal_handlers_disconnect_by_func (self->priv->current_widget_object,
- cancelled_cb, self);
+ g_signal_handlers_disconnect_by_func (self->priv->current_account_widget,
+ close_cb, self);
- gtk_widget_destroy (self->priv->current_account_widget);
+ gtk_widget_destroy (GTK_WIDGET (self->priv->current_account_widget));
}
self->priv->current_account_widget = account_widget;
- self->priv->current_widget_object = widget_object;
self->priv->settings = settings;
- g_signal_connect (self->priv->current_widget_object, "account-created",
- G_CALLBACK (account_created_cb), self);
- g_signal_connect (self->priv->current_widget_object, "cancelled",
- G_CALLBACK (cancelled_cb), self);
+ g_signal_connect (self->priv->current_account_widget, "close",
+ G_CALLBACK (close_cb), self);
/* Restore "account" and "password" parameters in the new widget */
if (account != NULL)
{
- empathy_account_widget_set_account_param (widget_object, account);
+ tpaw_account_widget_set_account_param (account_widget, account);
g_free (account);
}
if (password != NULL)
{
- empathy_account_widget_set_password_param (widget_object, password);
+ tpaw_account_widget_set_password_param (account_widget, password);
g_free (password);
}
- gtk_box_pack_start (GTK_BOX (self->priv->main_vbox), account_widget,
- FALSE, FALSE, 0);
- gtk_widget_show (account_widget);
+ gtk_box_pack_start (GTK_BOX (self->priv->main_vbox),
+ GTK_WIDGET (account_widget), FALSE, FALSE, 0);
+ gtk_widget_show (GTK_WIDGET (account_widget));
}
static void
/* trigger show the first account widget */
protocol_changed_cb (GTK_COMBO_BOX (self->priv->chooser), self);
- gtk_window_set_title (GTK_WINDOW (self), _("Adding new account"));
+ gtk_window_set_title (GTK_WINDOW (self), _("Add new account"));
}
static void
return result;
}
-EmpathyAccountSettings *
+TpawAccountSettings *
empathy_new_account_dialog_get_settings (EmpathyNewAccountDialog *self)
{
return self->priv->settings;