comparison src/dialogs.c @ 7063:7fdac700deb1

[gaim-migrate @ 7627] show_change_pass, or whatever it was called, is now core/UI split. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Tue, 30 Sep 2003 07:47:38 +0000
parents 86ed8b2aa665
children 5a45833dd253
comparison
equal deleted inserted replaced
7062:86ed8b2aa665 7063:7fdac700deb1
1012 gtk_window_set_focus(GTK_WINDOW(b->window), b->first); 1012 gtk_window_set_focus(GTK_WINDOW(b->window), b->first);
1013 1013
1014 gtk_widget_show_all(b->window); 1014 gtk_widget_show_all(b->window);
1015 } 1015 }
1016 1016
1017 void do_change_password(GtkWidget *widget, struct passwddlg *b)
1018 {
1019 const gchar *orig, *new1, *new2;
1020
1021 orig = gtk_entry_get_text(GTK_ENTRY(b->original));
1022 new1 = gtk_entry_get_text(GTK_ENTRY(b->new1));
1023 new2 = gtk_entry_get_text(GTK_ENTRY(b->new2));
1024
1025 if (g_utf8_collate(new1, new2)) {
1026 gaim_notify_error(NULL, NULL,
1027 _("New passwords do not match."), NULL);
1028 return;
1029 }
1030
1031 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) {
1032 gaim_notify_error(NULL, NULL,
1033 _("Fill out all fields completely."), NULL);
1034 return;
1035 }
1036
1037 serv_change_passwd(b->gc, orig, new1);
1038 gaim_account_set_password(gaim_connection_get_account(b->gc), new1);
1039
1040 destroy_dialog(NULL, b->window);
1041 g_free(b);
1042 }
1043
1044 void show_change_passwd(GaimConnection *gc)
1045 {
1046 GaimAccount *account;
1047 GtkWidget *hbox;
1048 GtkWidget *label;
1049 GtkWidget *vbox;
1050 GtkWidget *fbox;
1051 GtkWidget *frame;
1052 char buf[256];
1053
1054 struct passwddlg *b = g_new0(struct passwddlg, 1);
1055 b->gc = gc;
1056
1057 account = gaim_connection_get_account(gc);
1058
1059 GAIM_DIALOG(b->window);
1060 gtk_window_set_resizable(GTK_WINDOW(b->window), TRUE);
1061 gtk_window_set_role(GTK_WINDOW(b->window), "change_passwd");
1062 gtk_window_set_title(GTK_WINDOW(b->window), _("Change Password"));
1063 g_signal_connect(G_OBJECT(b->window), "destroy", G_CALLBACK(destroy_dialog), b->window);
1064 gtk_widget_realize(b->window);
1065 dialogwindows = g_list_prepend(dialogwindows, b->window);
1066
1067 fbox = gtk_vbox_new(FALSE, 5);
1068 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5);
1069 gtk_container_add(GTK_CONTAINER(b->window), fbox);
1070
1071 frame = gtk_frame_new(_("Change Password"));
1072 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0);
1073
1074 vbox = gtk_vbox_new(FALSE, 5);
1075 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
1076 gtk_container_add(GTK_CONTAINER(frame), vbox);
1077
1078 g_snprintf(buf, sizeof(buf), _("Changing password for %s:"), gaim_account_get_username(account));
1079 label = gtk_label_new(buf);
1080 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
1081
1082 /* First Line */
1083 hbox = gtk_hbox_new(FALSE, 5);
1084 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
1085
1086 label = gtk_label_new(_("Original Password"));
1087 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
1088
1089 b->original = gtk_entry_new();
1090 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE);
1091 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 0);
1092
1093 /* Next Line */
1094 hbox = gtk_hbox_new(FALSE, 5);
1095 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
1096
1097 label = gtk_label_new(_("New Password"));
1098 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
1099
1100 b->new1 = gtk_entry_new();
1101 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE);
1102 gtk_box_pack_end(GTK_BOX(hbox), b->new1, FALSE, FALSE, 0);
1103
1104 /* Next Line */
1105 hbox = gtk_hbox_new(FALSE, 5);
1106 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
1107
1108 label = gtk_label_new(_("New Password (again)"));
1109 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
1110
1111 b->new2 = gtk_entry_new();
1112 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE);
1113 gtk_box_pack_end(GTK_BOX(hbox), b->new2, FALSE, FALSE, 0);
1114
1115 /* Now do our row of buttons */
1116 hbox = gtk_hbox_new(FALSE, 5);
1117 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 0);
1118
1119 b->ok = gaim_pixbuf_button_from_stock(_("OK"), GTK_STOCK_OK, GAIM_BUTTON_HORIZONTAL);
1120 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 0);
1121 g_signal_connect(G_OBJECT(b->ok), "clicked", G_CALLBACK(do_change_password), b);
1122
1123 b->cancel = gaim_pixbuf_button_from_stock(_("Cancel"), GTK_STOCK_CANCEL, GAIM_BUTTON_HORIZONTAL);
1124 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 0);
1125 g_signal_connect(G_OBJECT(b->cancel), "clicked", G_CALLBACK(destroy_dialog), b->window);
1126
1127 gtk_widget_show_all(b->window);
1128 }
1129
1130 void show_set_info(GaimConnection *gc) 1017 void show_set_info(GaimConnection *gc)
1131 { 1018 {
1132 GtkWidget *buttons; 1019 GtkWidget *buttons;
1133 GtkWidget *label; 1020 GtkWidget *label;
1134 GtkWidget *vbox; 1021 GtkWidget *vbox;