comparison src/gtkaccount.c @ 5697:fc659d75fcf7

[gaim-migrate @ 6118] Several fixes. Checks for empty strings, and the buddy icon gets set now. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Tue, 03 Jun 2003 09:03:40 +0000
parents 0a20c8e1d2ca
children 81d7b4239815
comparison
equal deleted inserted replaced
5696:0a20c8e1d2ca 5697:fc659d75fcf7
714 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed", 714 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed",
715 G_CALLBACK(__proxy_type_changed_cb), dialog); 715 G_CALLBACK(__proxy_type_changed_cb), dialog);
716 } 716 }
717 717
718 static void 718 static void
719 __cancel_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog) 719 __account_win_destroy_cb(GtkWidget *w, GdkEvent *event,
720 AccountPrefsDialog *dialog)
720 { 721 {
721 if (dialog->user_split_entries != NULL) 722 if (dialog->user_split_entries != NULL)
722 g_list_free(dialog->user_split_entries); 723 g_list_free(dialog->user_split_entries);
723 724
724 if (dialog->protocol_opt_entries != NULL) 725 if (dialog->protocol_opt_entries != NULL)
725 g_list_free(dialog->protocol_opt_entries); 726 g_list_free(dialog->protocol_opt_entries);
726 727
728 g_free(dialog);
729 }
730
731 static void
732 __cancel_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog)
733 {
727 gtk_widget_destroy(dialog->window); 734 gtk_widget_destroy(dialog->window);
728 735
729 g_free(dialog); 736 __account_win_destroy_cb(NULL, NULL, dialog);
730 }
731
732 static void
733 __account_win_destroy_cb(GtkWidget *w, GdkEvent *event,
734 AccountPrefsDialog *dialog)
735 {
736 __cancel_account_prefs_cb(NULL, dialog);
737 } 737 }
738 738
739 static void 739 static void
740 __ok_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog) 740 __ok_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog)
741 { 741 {
751 screenname = gtk_entry_get_text(GTK_ENTRY(dialog->screenname_entry)); 751 screenname = gtk_entry_get_text(GTK_ENTRY(dialog->screenname_entry));
752 752
753 dialog->account = gaim_account_new(screenname, dialog->protocol); 753 dialog->account = gaim_account_new(screenname, dialog->protocol);
754 } 754 }
755 755
756 if ((value = gtk_entry_get_text(GTK_ENTRY(dialog->alias_entry))) != NULL) 756 /* Alias */
757 value = gtk_entry_get_text(GTK_ENTRY(dialog->alias_entry));
758
759 if (*value != '\0')
757 gaim_account_set_alias(dialog->account, value); 760 gaim_account_set_alias(dialog->account, value);
758 else 761 else
759 gaim_account_set_alias(dialog->account, NULL); 762 gaim_account_set_alias(dialog->account, NULL);
760 763
764 /* Buddy Icon */
765 value = gtk_entry_get_text(GTK_ENTRY(dialog->buddy_icon_entry));
766
767 if ((dialog->prpl_info->options & OPT_PROTO_BUDDY_ICON) && *value != '\0')
768 gaim_account_set_buddy_icon(dialog->account, value);
769 else
770 gaim_account_set_buddy_icon(dialog->account, NULL);
771
772 /* Remember Password */
761 gaim_account_set_remember_password(dialog->account, 773 gaim_account_set_remember_password(dialog->account,
762 gtk_toggle_button_get_active( 774 gtk_toggle_button_get_active(
763 GTK_TOGGLE_BUTTON(dialog->remember_pass_check))); 775 GTK_TOGGLE_BUTTON(dialog->remember_pass_check)));
764 776
777 /* Check Mail */
765 if (dialog->prpl_info->options & OPT_PROTO_MAIL_CHECK) 778 if (dialog->prpl_info->options & OPT_PROTO_MAIL_CHECK)
766 gaim_account_set_check_mail(dialog->account, 779 gaim_account_set_check_mail(dialog->account,
767 gtk_toggle_button_get_active( 780 gtk_toggle_button_get_active(
768 GTK_TOGGLE_BUTTON(dialog->new_mail_check))); 781 GTK_TOGGLE_BUTTON(dialog->new_mail_check)));
769 782
770 /* TODO: Do something about auto-login. */ 783 /* TODO: Do something about auto-login. */
771 784
772 if (gaim_account_get_remember_password(dialog->account)) 785 /* Password */
773 gaim_account_set_password(dialog->account, 786 value = gtk_entry_get_text(GTK_ENTRY(dialog->password_entry));
774 gtk_entry_get_text(GTK_ENTRY(dialog->password_entry))); 787
788 if (gaim_account_get_remember_password(dialog->account) && *value != '\0')
789 gaim_account_set_password(dialog->account, value);
775 else 790 else
776 gaim_account_set_password(dialog->account, NULL); 791 gaim_account_set_password(dialog->account, NULL);
777 792
778 /* Build the username string. */ 793 /* Build the username string. */
779 username = g_strdup(gaim_account_get_username(dialog->account)); 794 username = g_strdup(gaim_account_get_username(dialog->account));
872 gtk_entry_get_text(GTK_ENTRY(dialog->proxy_user_entry))); 887 gtk_entry_get_text(GTK_ENTRY(dialog->proxy_user_entry)));
873 888
874 gaim_proxy_info_set_password(proxy_info, 889 gaim_proxy_info_set_password(proxy_info,
875 gtk_entry_get_text(GTK_ENTRY(dialog->proxy_pass_entry))); 890 gtk_entry_get_text(GTK_ENTRY(dialog->proxy_pass_entry)));
876 } 891 }
892
893 gtk_widget_destroy(dialog->window);
894
895 __account_win_destroy_cb(NULL, NULL, dialog);
877 } 896 }
878 897
879 static void 898 static void
880 __show_account_prefs(AccountPrefsDialogType type, GaimAccount *account) 899 __show_account_prefs(AccountPrefsDialogType type, GaimAccount *account)
881 { 900 {