static void unset_server_params (EmpathyAccountWidgetIrc *settings) { DEBUG ("Unset server, port and use-ssl"); mc_account_unset_param (settings->account, "server"); mc_account_unset_param (settings->account, "port"); mc_account_unset_param (settings->account, "use-ssl"); }
static void account_widget_forget_clicked_cb (GtkWidget *button, GtkWidget *entry) { McAccount *account; const gchar *param_name; param_name = g_object_get_data (G_OBJECT (entry), "param_name"); account = g_object_get_data (G_OBJECT (entry), "account"); DEBUG ("Unset %s", param_name); mc_account_unset_param (account, param_name); gtk_entry_set_text (GTK_ENTRY (entry), ""); }
static gboolean account_widget_entry_focus_cb (GtkWidget *widget, GdkEventFocus *event, McAccount *account) { const gchar *str; const gchar *param_name; str = gtk_entry_get_text (GTK_ENTRY (widget)); param_name = g_object_get_data (G_OBJECT (widget), "param_name"); if (EMP_STR_EMPTY (str)) { gchar *value = NULL; mc_account_unset_param (account, param_name); mc_account_get_param_string (account, param_name, &value); DEBUG ("Unset %s and restore to %s", param_name, value); gtk_entry_set_text (GTK_ENTRY (widget), value ? value : ""); g_free (value); } else { McProfile *profile; const gchar *domain = NULL; gchar *dup_str = NULL; profile = mc_account_get_profile (account); if (mc_profile_get_capabilities (profile) & MC_PROFILE_CAPABILITY_SPLIT_ACCOUNT) { domain = mc_profile_get_default_account_domain (profile); } if (domain && !strstr (str, "@") && strcmp (param_name, "account") == 0) { DEBUG ("Adding @%s suffix to account", domain); str = dup_str = g_strconcat (str, "@", domain, NULL); gtk_entry_set_text (GTK_ENTRY (widget), str); } DEBUG ("Setting %s to %s", param_name, strstr (param_name, "password") ? "***" : str); mc_account_set_param_string (account, param_name, str); g_free (dup_str); g_object_unref (profile); } return FALSE; }
static void account_widget_int_changed_cb (GtkWidget *widget, McAccount *account) { const gchar *param_name; gint value; value = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget)); param_name = g_object_get_data (G_OBJECT (widget), "param_name"); if (value == 0) { mc_account_unset_param (account, param_name); mc_account_get_param_int (account, param_name, &value); DEBUG ("Unset %s and restore to %d", param_name, value); gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value); } else { DEBUG ("Setting %s to %d", param_name, value); mc_account_set_param_int (account, param_name, value); } }
static void account_widget_checkbutton_toggled_cb (GtkWidget *widget, McAccount *account) { gboolean value; gboolean default_value; const gchar *param_name; value = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); param_name = g_object_get_data (G_OBJECT (widget), "param_name"); /* FIXME: This is ugly! checkbox don't have a "not-set" value so we * always unset the param and set the value if different from the * default value. */ mc_account_unset_param (account, param_name); mc_account_get_param_boolean (account, param_name, &default_value); if (default_value == value) { DEBUG ("Unset %s and restore to %d", param_name, default_value); } else { DEBUG ("Setting %s to %d", param_name, value); mc_account_set_param_boolean (account, param_name, value); } }