pidgin/android/libpurple

Parents 32bace83b11e
Children 9ac58f35c12d
Fix handling of login_label connected with OPT_PROTO_REGISTER_NOSCREENNAME in account setup dialog
--- a/pidgin/gtkaccount.c Fri Jun 29 16:35:07 2012 +0200
+++ b/pidgin/gtkaccount.c Tue Jul 03 12:53:43 2012 +0200
@@ -307,32 +307,6 @@
}
}
-static void
-register_button_cb(GtkWidget *checkbox, AccountPrefsDialog *dialog)
-{
- int register_checked = gtk_toggle_button_get_active(
- GTK_TOGGLE_BUTTON(dialog->register_button));
- int opt_noscreenname = (dialog->prpl_info != NULL &&
- (dialog->prpl_info->options & OPT_PROTO_REGISTER_NOSCREENNAME));
- int register_noscreenname = (opt_noscreenname && register_checked);
-
- if (register_noscreenname) {
- gtk_entry_set_text(GTK_ENTRY(dialog->username_entry), "");
- gtk_entry_set_text(GTK_ENTRY(dialog->password_entry), "");
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->remember_pass_check), FALSE);
- }
- gtk_widget_set_sensitive(dialog->username_entry, !register_noscreenname);
- gtk_widget_set_sensitive(dialog->password_entry, !register_noscreenname);
- gtk_widget_set_sensitive(dialog->remember_pass_check, !register_noscreenname);
-
- if (dialog->ok_button) {
- gtk_widget_set_sensitive(dialog->ok_button,
- (opt_noscreenname && register_checked) ||
- *gtk_entry_get_text(GTK_ENTRY(dialog->username_entry))
- != '\0');
- }
-}
-
static gboolean
username_nofocus_cb(GtkWidget *widget, GdkEventFocus *event, AccountPrefsDialog *dialog)
{
@@ -362,6 +336,33 @@
}
static void
+register_button_cb(GtkWidget *checkbox, AccountPrefsDialog *dialog)
+{
+ int register_checked = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(dialog->register_button));
+ int opt_noscreenname = (dialog->prpl_info != NULL &&
+ (dialog->prpl_info->options & OPT_PROTO_REGISTER_NOSCREENNAME));
+ int register_noscreenname = (opt_noscreenname && register_checked);
+
+ if (register_noscreenname) {
+ gtk_entry_set_text(GTK_ENTRY(dialog->username_entry), "");
+ username_nofocus_cb(dialog->username_entry, NULL, dialog);
+ gtk_entry_set_text(GTK_ENTRY(dialog->password_entry), "");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->remember_pass_check), FALSE);
+ }
+ gtk_widget_set_sensitive(dialog->username_entry, !register_noscreenname);
+ gtk_widget_set_sensitive(dialog->password_entry, !register_noscreenname);
+ gtk_widget_set_sensitive(dialog->remember_pass_check, !register_noscreenname);
+
+ if (dialog->ok_button) {
+ gtk_widget_set_sensitive(dialog->ok_button,
+ (opt_noscreenname && register_checked) ||
+ *gtk_entry_get_text(GTK_ENTRY(dialog->username_entry))
+ != '\0');
+ }
+}
+
+static void
icon_filesel_choose_cb(const char *filename, gpointer data)
{
AccountPrefsDialog *dialog = data;