static void account_widget_applied_cb (GObject *source_object, GAsyncResult *res, gpointer user_data) { GError *error = NULL; TpAccount *account; EmpathyAccountSettings *settings = EMPATHY_ACCOUNT_SETTINGS (source_object); EmpathyAccountWidget *widget = EMPATHY_ACCOUNT_WIDGET (user_data); EmpathyAccountWidgetPriv *priv = GET_PRIV (widget); empathy_account_settings_apply_finish (settings, res, &error); if (error != NULL) { DEBUG ("Could not apply changes to account: %s", error->message); g_error_free (error); return; } account = empathy_account_settings_get_account (priv->settings); if (account != NULL) { if (priv->creating_account) { /* By default, when an account is created, we enable it. */ tp_account_set_enabled_async (account, TRUE, account_widget_account_enabled_cb, widget); } else if (priv->enabled_checkbox != NULL) { gboolean enabled_checked; enabled_checked = #ifndef HAVE_MOBLIN gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON (priv->enabled_checkbox)); #else nbtk_gtk_light_switch_get_active ( NBTK_GTK_LIGHT_SWITCH (priv->enabled_checkbox)); #endif if (tp_account_is_enabled (account) && enabled_checked) { /* After having applied changes to a user account, we * automatically reconnect it. This is done so the new * information entered by the user is validated on the server. */ tp_account_reconnect_async (account, NULL, NULL); } } } account_widget_set_control_buttons_sensitivity (widget, FALSE); }
static void main_window_error_retry_clicked_cb (GtkButton *button, EmpathyMainWindow *window) { TpAccount *account; account = g_object_get_data (G_OBJECT (button), "account"); tp_account_reconnect_async (account, NULL, NULL); main_window_remove_error (window, account); }
static void retry_account_cb (GtkWidget *dialog, TpAccount *account, const gchar *password, EmpathyAuthFactory *factory) { DEBUG ("Try reconnecting to %s", tp_account_get_path_suffix (account)); empathy_auth_factory_save_retry_password (factory, account, password); tp_account_reconnect_async (account, NULL, NULL); }