comparison src/dialogs.c @ 978:563c409e26a1

[gaim-migrate @ 988] change passwd dialog works again committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 11 Oct 2000 20:16:04 +0000
parents 2586b2a3725e
children 7e231bc0018a
comparison
equal deleted inserted replaced
977:e5eac6b236f1 978:563c409e26a1
176 GtkWidget *ok; 176 GtkWidget *ok;
177 GtkWidget *cancel; 177 GtkWidget *cancel;
178 GtkWidget *original; 178 GtkWidget *original;
179 GtkWidget *new1; 179 GtkWidget *new1;
180 GtkWidget *new2; 180 GtkWidget *new2;
181 struct gaim_connection *gc;
181 }; 182 };
182 183
183 /*------------------------------------------------------------------------*/ 184 /*------------------------------------------------------------------------*/
184 /* Destroys */ 185 /* Destroys */
185 /*------------------------------------------------------------------------*/ 186 /*------------------------------------------------------------------------*/
1368 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) { 1369 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) {
1369 do_error_dialog(_("Fill out all fields completely"), _("Gaim - Change Password Error")); 1370 do_error_dialog(_("Fill out all fields completely"), _("Gaim - Change Password Error"));
1370 return; 1371 return;
1371 } 1372 }
1372 1373
1373 serv_change_passwd(orig, new1); 1374 serv_change_passwd(b->gc, orig, new1);
1374 1375
1375 destroy_dialog(NULL, b->window); 1376 destroy_dialog(NULL, b->window);
1376 g_free(b); 1377 g_free(b);
1378 }
1379
1380 static void pwd_choose(GtkObject *obj, struct passwddlg *pwd)
1381 {
1382 pwd->gc = (struct gaim_connection *)gtk_object_get_user_data(obj);
1383 }
1384
1385 static void passwd_multi_menu(GtkWidget *box, struct passwddlg *pwd)
1386 {
1387 GtkWidget *hbox;
1388 GtkWidget *label;
1389 GtkWidget *optmenu;
1390 GtkWidget *menu;
1391 GtkWidget *opt;
1392 GSList *c = connections;
1393 struct gaim_connection *g;
1394
1395 hbox = gtk_hbox_new(FALSE, 5);
1396 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
1397 gtk_widget_show(hbox);
1398
1399 label = gtk_label_new(_("Change password for:"));
1400 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1401 gtk_widget_show(label);
1402
1403 optmenu = gtk_option_menu_new();
1404 gtk_box_pack_end(GTK_BOX(hbox), optmenu, FALSE, FALSE, 5);
1405 gtk_widget_show(optmenu);
1406
1407 menu = gtk_menu_new();
1408
1409 while (c) {
1410 g = (struct gaim_connection *)c->data;
1411 opt = gtk_menu_item_new_with_label(g->username);
1412 gtk_object_set_user_data(GTK_OBJECT(opt), g);
1413 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(pwd_choose), pwd);
1414 gtk_menu_append(GTK_MENU(menu), opt);
1415 gtk_widget_show(opt);
1416 c = c->next;
1417 }
1418
1419 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu);
1420 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0);
1421
1422 pwd->gc = (struct gaim_connection *)connections->data;
1377 } 1423 }
1378 1424
1379 void show_change_passwd() 1425 void show_change_passwd()
1380 { 1426 {
1381 GtkWidget *hbox; 1427 GtkWidget *hbox;
1385 GtkWidget *frame; 1431 GtkWidget *frame;
1386 1432
1387 struct passwddlg *b = g_new0(struct passwddlg, 1); 1433 struct passwddlg *b = g_new0(struct passwddlg, 1);
1388 1434
1389 b->window = gtk_window_new(GTK_WINDOW_DIALOG); 1435 b->window = gtk_window_new(GTK_WINDOW_DIALOG);
1390 gtk_widget_set_usize(b->window, 325, 195); 1436 gtk_widget_set_usize(b->window, 325, -1);
1391 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, FALSE, TRUE); 1437 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, FALSE, TRUE);
1392 gtk_window_set_wmclass(GTK_WINDOW(b->window), "change_passwd", "Gaim"); 1438 gtk_window_set_wmclass(GTK_WINDOW(b->window), "change_passwd", "Gaim");
1393 gtk_widget_show(b->window); 1439 gtk_container_border_width(GTK_CONTAINER(b->window), 5);
1394 1440 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change"));
1441 gtk_signal_connect(GTK_OBJECT(b->window), "destroy",
1442 GTK_SIGNAL_FUNC(destroy_dialog), b->window);
1443 gtk_widget_realize(b->window);
1444 aol_icon(b->window->window);
1395 dialogwindows = g_list_prepend(dialogwindows, b->window); 1445 dialogwindows = g_list_prepend(dialogwindows, b->window);
1396 1446
1447 fbox = gtk_vbox_new(FALSE, 5);
1448 gtk_container_add(GTK_CONTAINER(b->window), fbox);
1449 gtk_widget_show(fbox);
1450
1397 frame = gtk_frame_new(_("Change Password")); 1451 frame = gtk_frame_new(_("Change Password"));
1398 fbox = gtk_vbox_new(FALSE, 5); 1452 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5);
1399 1453 gtk_widget_show(frame);
1400 /* Build OK Button */ 1454
1401
1402 b->ok = picture_button(b->window, _("OK"), ok_xpm);
1403 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm);
1404
1405 /* Create our vbox */
1406 vbox = gtk_vbox_new(FALSE, 5); 1455 vbox = gtk_vbox_new(FALSE, 5);
1407 1456 gtk_container_add(GTK_CONTAINER(frame), vbox);
1408 1457 gtk_widget_show(vbox);
1458
1459 passwd_multi_menu(vbox, b);
1460
1409 /* First Line */ 1461 /* First Line */
1410 hbox = gtk_hbox_new(FALSE, 5); 1462 hbox = gtk_hbox_new(FALSE, 5);
1463 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
1464 gtk_widget_show(hbox);
1465
1411 label = gtk_label_new(_("Original Password")); 1466 label = gtk_label_new(_("Original Password"));
1467 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1412 gtk_widget_show(label); 1468 gtk_widget_show(label);
1413 1469
1414 b->original = gtk_entry_new(); 1470 b->original = gtk_entry_new();
1415 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE); 1471 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE);
1472 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 5);
1416 gtk_widget_show(b->original); 1473 gtk_widget_show(b->original);
1417
1418 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1419 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 5);
1420
1421 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
1422
1423 gtk_widget_show(hbox);
1424 1474
1425 /* Next Line */ 1475 /* Next Line */
1426 hbox = gtk_hbox_new(FALSE, 5); 1476 hbox = gtk_hbox_new(FALSE, 5);
1477 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
1478 gtk_widget_show(hbox);
1479
1427 label = gtk_label_new(_("New Password")); 1480 label = gtk_label_new(_("New Password"));
1481 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1428 gtk_widget_show(label); 1482 gtk_widget_show(label);
1483
1429 b->new1 = gtk_entry_new(); 1484 b->new1 = gtk_entry_new();
1430 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE); 1485 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE);
1486 gtk_box_pack_end(GTK_BOX(hbox), b->new1, FALSE, FALSE, 5);
1431 gtk_widget_show(b->new1); 1487 gtk_widget_show(b->new1);
1432 1488
1433 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); 1489 /* Next Line */
1434 gtk_box_pack_end(GTK_BOX(hbox), b->new1, FALSE, FALSE, 5); 1490 hbox = gtk_hbox_new(FALSE, 5);
1435
1436 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); 1491 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
1437 gtk_widget_show(hbox); 1492 gtk_widget_show(hbox);
1438 1493
1439 /* Next Line */
1440 hbox = gtk_hbox_new(FALSE, 5);
1441 label = gtk_label_new(_("New Password (again)")); 1494 label = gtk_label_new(_("New Password (again)"));
1495 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1442 gtk_widget_show(label); 1496 gtk_widget_show(label);
1497
1443 b->new2 = gtk_entry_new(); 1498 b->new2 = gtk_entry_new();
1444 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE); 1499 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE);
1500 gtk_box_pack_end(GTK_BOX(hbox), b->new2, FALSE, FALSE, 5);
1445 gtk_widget_show(b->new2); 1501 gtk_widget_show(b->new2);
1446 1502
1447 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1448 gtk_box_pack_end(GTK_BOX(hbox), b->new2, FALSE, FALSE, 5);
1449
1450 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
1451
1452 gtk_widget_show(hbox);
1453
1454 /* Now do our row of buttons */ 1503 /* Now do our row of buttons */
1455 hbox = gtk_hbox_new(TRUE, TRUE); 1504 hbox = gtk_hbox_new(TRUE, TRUE);
1505 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 5);
1506 gtk_widget_show(hbox);
1507
1508 b->ok = picture_button(b->window, _("OK"), ok_xpm);
1456 gtk_box_pack_start(GTK_BOX(hbox), b->ok, FALSE, FALSE, 5); 1509 gtk_box_pack_start(GTK_BOX(hbox), b->ok, FALSE, FALSE, 5);
1510 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked",
1511 GTK_SIGNAL_FUNC(do_change_password), b);
1512
1513 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm);
1457 gtk_box_pack_start(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 5); 1514 gtk_box_pack_start(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 5);
1458
1459 gtk_widget_show(hbox);
1460
1461 /* Pack our entries into a frame */
1462 gtk_container_add(GTK_CONTAINER(frame), vbox);
1463
1464 /* Add our frame to our frame box */
1465 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5);
1466
1467 /* And add our row of buttons */
1468 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 5);
1469
1470
1471 gtk_widget_show(vbox);
1472 gtk_widget_show(frame);
1473 gtk_widget_show(fbox);
1474
1475 gtk_container_add(GTK_CONTAINER(b->window), fbox);
1476
1477 gtk_container_border_width(GTK_CONTAINER(b->window), 5);
1478 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change"));
1479
1480 gtk_signal_connect(GTK_OBJECT(b->window), "destroy",
1481 GTK_SIGNAL_FUNC(destroy_dialog), b->window);
1482 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", 1515 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked",
1483 GTK_SIGNAL_FUNC(destroy_dialog), b->window); 1516 GTK_SIGNAL_FUNC(destroy_dialog), b->window);
1484 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", 1517
1485 GTK_SIGNAL_FUNC(do_change_password), b); 1518
1486 1519 gtk_widget_show(b->window);
1487
1488 } 1520 }
1489 1521
1490 static void info_choose(GtkWidget *opt, struct set_info_dlg *b) 1522 static void info_choose(GtkWidget *opt, struct set_info_dlg *b)
1491 { 1523 {
1492 int text_len; 1524 int text_len;