gtk_label_set_use_markup (GTK_LABEL (w), TRUE);
gtk_box_pack_start (GTK_BOX (main_vbox), w, FALSE, FALSE, 0);
gtk_misc_set_alignment (GTK_MISC (w), 0, 0.5);
+ gtk_label_set_line_wrap (GTK_LABEL (w), TRUE);
gtk_widget_show (w);
return main_vbox;
salut_created = TRUE;
}
+ empathy_connect_new_account (account, priv->account_mgr);
+
current_idx = gtk_assistant_get_current_page (GTK_ASSISTANT (self));
if (current_idx == PAGE_SALUT && !salut_created)
/* We are on the Salut page and aren't creating the salut account so don't
EmpathyAccountAssistantPriv *priv = GET_PRIV (self);
EmpathyAccountSettings *settings = EMPATHY_ACCOUNT_SETTINGS (source);
TpAccount *account;
- gchar *display_name;
empathy_account_settings_apply_finish (settings, result, &error);
- if (empathy_account_settings_get_display_name (settings) == NULL)
- {
- /* set default display name */
- display_name = empathy_account_widget_get_default_display_name (
- priv->current_widget_object);
-
- empathy_account_settings_set_display_name_async (settings,
- display_name, NULL, NULL);
-
- g_free (display_name);
- }
-
priv->is_creating = FALSE;
if (error != NULL)
EmpathyAccountSettings *settings)
{
EmpathyAccountAssistantPriv *priv = GET_PRIV (self);
+ gchar *display_name;
if (settings == NULL)
return;
priv->is_creating = TRUE;
+ /* set default display name */
+ display_name = empathy_account_widget_get_default_display_name (
+ priv->current_widget_object);
+
+ empathy_account_settings_set_display_name_async (settings,
+ display_name, NULL, NULL);
+
+ g_free (display_name);
+
empathy_account_settings_apply_async (settings,
account_assistant_apply_account_cb, self);
}
char *str;
GtkWidget *account_widget;
EmpathyAccountWidget *widget_object = NULL;
- gboolean is_gtalk;
+ gboolean is_gtalk, is_facebook;
+ const gchar *name;
priv = GET_PRIV (self);
cm = empathy_protocol_chooser_dup_selected (
- EMPATHY_PROTOCOL_CHOOSER (chooser), &proto, &is_gtalk);
+ EMPATHY_PROTOCOL_CHOOSER (chooser), &proto, &is_gtalk, &is_facebook);
if (cm == NULL || proto == NULL)
/* we are not ready yet */
return;
/* Create account */
+ if (is_gtalk)
+ name = "gtalk";
+ else if (is_facebook)
+ name = "facebook";
+ else
+ name = proto->name;
+
/* To translator: %s is the protocol name */
str = g_strdup_printf (_("New %s account"),
- empathy_protocol_name_to_display_name (
- is_gtalk ? "gtalk" : proto->name));
+ empathy_protocol_name_to_display_name (name));
settings = empathy_account_settings_new (cm->name, proto->name, str);
if (is_gtalk)
empathy_account_settings_set_icon_name_async (settings, "im-google-talk",
NULL, NULL);
+ else if (is_facebook)
+ empathy_account_settings_set_icon_name_async (settings, "im-facebook",
+ NULL, NULL);
if (priv->first_resp == RESPONSE_CREATE_ACCOUNT)
empathy_account_settings_set_boolean (settings, "register", TRUE);
g_signal_connect (priv->current_widget_object, "handle-apply",
G_CALLBACK (account_assistant_handle_apply_cb), self);
+ if (empathy_account_settings_is_valid (settings))
+ {
+ gtk_assistant_set_page_complete (GTK_ASSISTANT (self),
+ priv->enter_or_create_page, TRUE);
+ }
+
gtk_box_pack_start (GTK_BOX (priv->enter_or_create_page), account_widget,
FALSE, FALSE, 0);
gtk_widget_show (account_widget);
TpConnectionManager *cm,
TpConnectionManagerProtocol *protocol,
gboolean is_gtalk,
+ gboolean is_facebook,
gpointer user_data)
{
if (!tp_strdiff (protocol->name, "local-xmpp") ||
TpConnectionManager *cm,
TpConnectionManagerProtocol *protocol,
gboolean is_gtalk,
+ gboolean is_facebook,
gpointer user_data)
{
- if (is_gtalk)
+ if (is_gtalk || is_facebook)
return FALSE;
return tp_connection_manager_protocol_can_register (protocol);
account_assistant_apply_account_and_finish (self, priv->salut_settings);
return;
}
+ else if (current_page == PAGE_ENTER_CREATE &&
+ priv->settings != NULL &&
+ empathy_account_settings_is_valid (priv->settings))
+ {
+ account_assistant_apply_account_and_finish (self, priv->settings);
+ }
}
static void
markup = g_strdup_printf ("%s (<span style=\"italic\">%s</span>).",
_("You won't be able to chat with people connected to your local "
- "network, as telepathy-salut is not installed.\nIf you want to enable "
- "this feature, please install the telepathy-salut package\nand create "
- "a People Nearby account from the Accounts dialog "),
+ "network, as telepathy-salut is not installed. If you want to enable "
+ "this feature, please install the telepathy-salut package and create "
+ "a People Nearby account from the Accounts dialog"),
_("Edit->Accounts"));
vbox = build_error_vbox (_("telepathy-salut not installed"), markup);
gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONFIRM);
priv->create_salut_account = TRUE;
+
+ if (empathy_account_settings_is_valid (priv->salut_settings))
+ {
+ gtk_assistant_set_page_complete (GTK_ASSISTANT (self),
+ page, TRUE);
+ }
}
else
{