const gchar *param_name;
gint value;
- value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
+ 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) {
- gint val;
-
mc_account_unset_param (account, param_name);
- mc_account_get_param_int (account, param_name, &val);
- empathy_debug (DEBUG_DOMAIN, "Unset %s and restore to %d", param_name, val);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), val);
+ mc_account_get_param_int (account, param_name, &value);
+ empathy_debug (DEBUG_DOMAIN, "Unset %s and restore to %d", param_name, value);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value);
} else {
- empathy_debug (DEBUG_DOMAIN, "Setting %s to %d", param_name, (gint) value);
- mc_account_set_param_int (account, param_name, (gint) value);
+ empathy_debug (DEBUG_DOMAIN, "Setting %s to %d", param_name, value);
+ mc_account_set_param_int (account, param_name, value);
}
}
gtk_spin_button_set_value (GTK_SPIN_BUTTON (spinbutton_port), port);
}
-static void
-account_widget_destroy_cb (GtkWidget *widget,
- McAccount *account)
-{
- empathy_debug (DEBUG_DOMAIN, "destroyed!");
- g_object_unref (account);
-}
-
static void
account_widget_setup_widget (GtkWidget *widget,
McAccount *account,
{
g_object_set_data_full (G_OBJECT (widget), "param_name",
g_strdup (param_name), g_free);
+ g_object_set_data_full (G_OBJECT (widget), "account",
+ g_object_ref (account), g_object_unref);
if (GTK_IS_SPIN_BUTTON (widget)) {
gint value = 0;
g_object_unref (protocol);
}
-static GtkWidget *
-account_widget_new_valist (McAccount *account,
- GladeXML *gui,
- const gchar *root,
- const gchar *first_widget_name,
- va_list args)
+static void
+account_widget_handle_params_valist (McAccount *account,
+ GladeXML *gui,
+ const gchar *first_widget_name,
+ va_list args)
{
GtkWidget *widget;
const gchar *widget_name;
account_widget_setup_widget (widget, account, param_name);
}
-
- widget = glade_xml_get_widget (gui, root);
- g_signal_connect (widget, "destroy",
- G_CALLBACK (account_widget_destroy_cb),
- g_object_ref (account));
-
- return widget;
}
-GtkWidget *
-empathy_account_widget_new_with_glade (McAccount *account,
- GladeXML *gui,
- const gchar *root,
- const gchar *first_widget_name,
- ...)
+void
+empathy_account_widget_handle_params (McAccount *account,
+ GladeXML *gui,
+ const gchar *first_widget_name,
+ ...)
{
- GtkWidget *widget;
- va_list args;
+ va_list args;
- g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
+ g_return_if_fail (MC_IS_ACCOUNT (account));
va_start (args, first_widget_name);
- widget = account_widget_new_valist (account, gui, root,
- first_widget_name,
- args);
+ account_widget_handle_params_valist (account, gui,
+ first_widget_name,
+ args);
va_end (args);
-
- return widget;
}
void
g_signal_connect (entry_password, "changed",
G_CALLBACK (account_widget_password_changed_cb),
button_forget);
-
- g_object_set_data_full (G_OBJECT (entry_password), "account",
- g_object_ref (account),
- g_object_unref);
}
GtkWidget *
accounts_widget_generic_setup (account, table_settings);
- g_signal_connect (sw, "destroy",
- G_CALLBACK (account_widget_destroy_cb),
- g_object_ref (account));
-
gtk_widget_show_all (sw);
return sw;
GladeXML *glade;
GtkWidget *widget;
- glade = empathy_glade_get ("empathy-account-widget-salut.glade",
- "vbox_salut_settings",
- NULL);
+ glade = empathy_glade_get_file ("empathy-account-widget-salut.glade",
+ "vbox_salut_settings",
+ NULL,
+ "vbox_salut_settings", &widget,
+ NULL);
- widget = empathy_account_widget_new_with_glade (account, glade,
- "vbox_salut_settings",
+ empathy_account_widget_handle_params (account, glade,
"entry_published", "published-name",
"entry_nickname", "nickname",
"entry_first_name", "first-name",
GladeXML *glade;
GtkWidget *widget;
- glade = empathy_glade_get ("empathy-account-widget-msn.glade",
- "vbox_msn_settings",
- NULL);
+ glade = empathy_glade_get_file ("empathy-account-widget-msn.glade",
+ "vbox_msn_settings",
+ NULL,
+ "vbox_msn_settings", &widget,
+ NULL);
- widget = empathy_account_widget_new_with_glade (account, glade,
- "vbox_msn_settings",
+ empathy_account_widget_handle_params (account, glade,
"entry_id", "account",
"entry_password", "password",
"entry_server", "server",
glade = empathy_glade_get_file ("empathy-account-widget-jabber.glade",
"vbox_jabber_settings",
NULL,
+ "vbox_jabber_settings", &widget,
"spinbutton_port", &spinbutton_port,
"checkbutton_ssl", &checkbutton_ssl,
NULL);
- widget = empathy_account_widget_new_with_glade (account, glade,
- "vbox_jabber_settings",
+ empathy_account_widget_handle_params (account, glade,
"entry_id", "account",
"entry_password", "password",
"entry_resource", "resource",
G_CALLBACK (account_widget_jabber_ssl_toggled_cb),
spinbutton_port);
- g_object_set_data_full (G_OBJECT (spinbutton_port), "account",
- g_object_ref (account),
- g_object_unref);
+ g_object_unref (glade);
+
+ gtk_widget_show (widget);
+
+ return widget;
+}
+
+GtkWidget *
+empathy_account_widget_icq_new (McAccount *account)
+{
+ GladeXML *glade;
+ GtkWidget *widget;
+ GtkWidget *spinbutton_port;
+
+ glade = empathy_glade_get_file ("empathy-account-widget-icq.glade",
+ "vbox_icq_settings",
+ NULL,
+ "vbox_icq_settings", &widget,
+ "spinbutton_port", &spinbutton_port,
+ NULL);
+
+ empathy_account_widget_handle_params (account, glade,
+ "entry_uin", "account",
+ "entry_password", "password",
+ "entry_server", "server",
+ "spinbutton_port", "port",
+ "entry_charset", "charset",
+ NULL);
+
+ emapthy_account_widget_add_forget_button (account, glade,
+ "button_forget",
+ "entry_password");
+
+ g_object_unref (glade);
+
+ gtk_widget_show (widget);
+
+ return widget;
+}
+
+GtkWidget *
+empathy_account_widget_yahoo_new (McAccount *account)
+{
+ GladeXML *glade;
+ GtkWidget *widget;
+
+ glade = empathy_glade_get_file ("empathy-account-widget-yahoo.glade",
+ "vbox_yahoo_settings",
+ NULL,
+ "vbox_yahoo_settings", &widget,
+ NULL);
+
+ empathy_account_widget_handle_params (account, glade,
+ "entry_id", "account",
+ "entry_password", "password",
+ "entry_server", "server",
+ "entry_serverjp", "serverjp",
+ "entry_locale", "room-list-locale",
+ "entry_charset", "charset",
+ "spinbutton_port", "port",
+ "checkbutton_yahoojp", "yahoojp",
+ "checkbutton_ignore_invites", "ignore-invites",
+ NULL);
+
+ emapthy_account_widget_add_forget_button (account, glade,
+ "button_forget",
+ "entry_password");
g_object_unref (glade);