comparison src/dialogs.c @ 4178:b2b14e936178

[gaim-migrate @ 4408] Better. committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Fri, 03 Jan 2003 05:54:04 +0000
parents b173736b4ab0
children 67f45f27ed3c
comparison
equal deleted inserted replaced
4177:b173736b4ab0 4178:b2b14e936178
1161 current_deny_gc->permdeny = data; 1161 current_deny_gc->permdeny = data;
1162 serv_set_permit_deny(current_deny_gc); 1162 serv_set_permit_deny(current_deny_gc);
1163 do_export(current_deny_gc); 1163 do_export(current_deny_gc);
1164 } 1164 }
1165 1165
1166 static GtkWidget *deny_opt(char *label, int which, GtkWidget *box, GtkWidget *set) 1166 static GtkWidget *deny_opt(char *label, int which, GtkWidget *set)
1167 { 1167 {
1168 GtkWidget *opt; 1168 GtkWidget *opt;
1169 1169
1170 if (!set) 1170 if (!set)
1171 opt = gtk_radio_button_new_with_label(NULL, label); 1171 opt = gtk_radio_button_new_with_label(NULL, label);
1172 else 1172 else
1173 opt = 1173 opt =
1174 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), 1174 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)),
1175 label); 1175 label);
1176 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); 1176
1177 g_signal_connect(GTK_OBJECT(opt), "toggled", G_CALLBACK(set_deny_mode), (void *)which); 1177 g_signal_connect(GTK_OBJECT(opt), "toggled", G_CALLBACK(set_deny_mode), (void *)which);
1178 gtk_widget_show(opt); 1178 gtk_widget_show(opt);
1179 if (current_deny_gc->permdeny == which) 1179 if (current_deny_gc->permdeny == which)
1180 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); 1180 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE);
1181 1181
1441 GtkSizeGroup *sg2 = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); 1441 GtkSizeGroup *sg2 = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
1442 GtkListStore *ls; 1442 GtkListStore *ls;
1443 GtkWidget *list; 1443 GtkWidget *list;
1444 GtkCellRenderer *rend; 1444 GtkCellRenderer *rend;
1445 GtkTreeViewColumn *col; 1445 GtkTreeViewColumn *col;
1446 GtkWidget *table;
1446 1447
1447 current_deny_gc = connections->data; /* this is safe because this screen will only be 1448 current_deny_gc = connections->data; /* this is safe because this screen will only be
1448 available when there are connections */ 1449 available when there are connections */
1449 current_is_deny = TRUE; 1450 current_is_deny = TRUE;
1450 1451
1480 g_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", G_CALLBACK(des_deny_opt), NULL); 1481 g_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", G_CALLBACK(des_deny_opt), NULL);
1481 gtk_widget_show(deny_opt_menu); 1482 gtk_widget_show(deny_opt_menu);
1482 1483
1483 build_deny_menu(); 1484 build_deny_menu();
1484 1485
1485 hbox = gtk_hbox_new(FALSE, 5); 1486 table = gtk_table_new(5, 2, FALSE);
1486 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 5); 1487 gtk_box_pack_start(GTK_BOX(box), table, TRUE, TRUE, 0);
1487 gtk_widget_show(hbox); 1488 gtk_table_set_row_spacings(GTK_TABLE(table), 7);
1488 1489 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
1489 vbox = gtk_vbox_new(FALSE, 5); 1490 gtk_widget_show(table);
1490 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); 1491
1491 gtk_widget_show(vbox); 1492 deny_type = deny_opt(_("Allow all users to contact me"), 1, NULL);
1492
1493 deny_type = deny_opt(_("Allow all users to contact me"), 1, vbox, NULL);
1494 gtk_size_group_add_widget(sg1, deny_type); 1493 gtk_size_group_add_widget(sg1, deny_type);
1495 deny_type = deny_opt(_("Allow only the users below"), 3, vbox, deny_type); 1494 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
1495
1496 deny_type = deny_opt(_("Allow only users on my buddy list"), 5, deny_type);
1496 gtk_size_group_add_widget(sg1, deny_type); 1497 gtk_size_group_add_widget(sg1, deny_type);
1497 deny_type = deny_opt(_("Allow only users on my buddy list"), 5, vbox, deny_type); 1498 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
1499
1500 deny_type = deny_opt(_("Allow only the users below"), 3, deny_type);
1498 gtk_size_group_add_widget(sg1, deny_type); 1501 gtk_size_group_add_widget(sg1, deny_type);
1502 gtk_table_attach(GTK_TABLE(table), deny_type, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
1499 1503
1500 sw = gtk_scrolled_window_new(NULL, NULL); 1504 sw = gtk_scrolled_window_new(NULL, NULL);
1501 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); 1505 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1502 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5); 1506 gtk_table_attach(GTK_TABLE(table), sw, 0, 1, 3, 4, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
1503 gtk_widget_show(sw); 1507 gtk_widget_show(sw);
1504 1508
1505 allow_store = gtk_list_store_new(1, G_TYPE_STRING); 1509 allow_store = gtk_list_store_new(1, G_TYPE_STRING);
1506 allow_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(allow_store)); 1510 allow_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(allow_store));
1507 1511
1514 gtk_widget_show(allow_list); 1518 gtk_widget_show(allow_list);
1515 1519
1516 build_allow_list(); 1520 build_allow_list();
1517 1521
1518 bbox = gtk_hbox_new(TRUE, 5); 1522 bbox = gtk_hbox_new(TRUE, 5);
1519 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
1520 gtk_widget_show(bbox); 1523 gtk_widget_show(bbox);
1524 gtk_table_attach(GTK_TABLE(table), bbox, 0, 1, 4, 5, GTK_FILL, 0, 0, 0);
1521 1525
1522 button = gtk_button_new_from_stock(GTK_STOCK_ADD); 1526 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
1523 gtk_size_group_add_widget(sg2, button); 1527 gtk_size_group_add_widget(sg2, button);
1524 gtk_widget_show(button); 1528 gtk_widget_show(button);
1525 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), (void *)TRUE); 1529 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), (void *)TRUE);
1529 gtk_size_group_add_widget(sg2, button); 1533 gtk_size_group_add_widget(sg2, button);
1530 gtk_widget_show(button); 1534 gtk_widget_show(button);
1531 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), (void *)TRUE); 1535 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), (void *)TRUE);
1532 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5); 1536 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1533 1537
1534 vbox = gtk_vbox_new(FALSE, 5); 1538 deny_type = deny_opt(_("Deny all users"), 2, deny_type);
1535 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5);
1536 gtk_widget_show(vbox);
1537
1538 label = gtk_label_new("");
1539 gtk_widget_show(label);
1540 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); /* FIXME: Bad temporary hack */
1541
1542 deny_type = deny_opt(_("Deny all users"), 2, vbox, deny_type);
1543 gtk_size_group_add_widget(sg1, deny_type); 1539 gtk_size_group_add_widget(sg1, deny_type);
1544 deny_type = deny_opt(_("Block the users below"), 4, vbox, deny_type); 1540 gtk_table_attach(GTK_TABLE(table), deny_type, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
1541
1542 deny_type = deny_opt(_("Block the users below"), 4, deny_type);
1545 gtk_size_group_add_widget(sg1, deny_type); 1543 gtk_size_group_add_widget(sg1, deny_type);
1544 gtk_table_attach(GTK_TABLE(table), deny_type, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
1546 1545
1547 sw = gtk_scrolled_window_new(NULL, NULL); 1546 sw = gtk_scrolled_window_new(NULL, NULL);
1548 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); 1547 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1549 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5); 1548 gtk_table_attach(GTK_TABLE(table), sw, 1, 2, 3, 4, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
1550 gtk_widget_show(sw); 1549 gtk_widget_show(sw);
1551 1550
1552 block_store = gtk_list_store_new(1, G_TYPE_STRING); 1551 block_store = gtk_list_store_new(1, G_TYPE_STRING);
1553 block_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(block_store)); 1552 block_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(block_store));
1554 1553
1561 gtk_widget_show(block_list); 1560 gtk_widget_show(block_list);
1562 1561
1563 build_block_list(); 1562 build_block_list();
1564 1563
1565 bbox = gtk_hbox_new(TRUE, 5); 1564 bbox = gtk_hbox_new(TRUE, 5);
1566 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); 1565 gtk_table_attach(GTK_TABLE(table), bbox, 1, 2, 4, 5, GTK_FILL, 0, 0, 0);
1567 gtk_widget_show(bbox); 1566 gtk_widget_show(bbox);
1568 1567
1569 button = gtk_button_new_from_stock(GTK_STOCK_ADD); 1568 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
1570 gtk_size_group_add_widget(sg2, button); 1569 gtk_size_group_add_widget(sg2, button);
1571 gtk_widget_show(button); 1570 gtk_widget_show(button);
1580 1579
1581 sep = gtk_hseparator_new(); 1580 sep = gtk_hseparator_new();
1582 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 1581 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
1583 gtk_widget_show(sep); 1582 gtk_widget_show(sep);
1584 1583
1585 hbox = gtk_hbox_new(TRUE, 5); 1584 hbox = gtk_hbox_new(FALSE, 0);
1586 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, TRUE, 0); 1585 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);
1587 gtk_widget_show(hbox); 1586 gtk_widget_show(hbox);
1587
1588 close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); 1588 close_button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
1589 gtk_widget_show(close_button);
1590 gtk_box_pack_end(GTK_BOX(hbox), close_button, FALSE, FALSE, 0); 1589 gtk_box_pack_end(GTK_BOX(hbox), close_button, FALSE, FALSE, 0);
1591 g_signal_connect_swapped(GTK_OBJECT(close_button), "clicked", G_CALLBACK(gtk_widget_destroy), pwin); 1590 g_signal_connect_swapped(GTK_OBJECT(close_button), "clicked", G_CALLBACK(gtk_widget_destroy), pwin);
1591 gtk_widget_show(close_button);
1592 1592
1593 gtk_widget_show(pwin); 1593 gtk_widget_show(pwin);
1594 1594
1595 } 1595 }
1596
1597 void show_privacy_options_old()
1598 {
1599 GtkWidget *pwin;
1600 GtkWidget *box;
1601 GtkWidget *hbox;
1602 GtkWidget *label;
1603 GtkWidget *vbox;
1604 GtkWidget *sw;
1605 GtkWidget *bbox;
1606 GtkWidget *button;
1607 GtkWidget *sep;
1608 GtkWidget *close_button;
1609
1610 current_deny_gc = connections->data; /* this is safe because this screen will only be
1611 available when there are connections */
1612 current_is_deny = TRUE;
1613
1614
1615 privacy_win = pwin = gtk_window_new(GTK_WINDOW_TOPLEVEL);
1616 gtk_window_set_policy(GTK_WINDOW(pwin), FALSE, TRUE, TRUE);
1617 gtk_window_set_role(GTK_WINDOW(pwin), "privacy");
1618 gtk_window_set_title(GTK_WINDOW(pwin), _("Gaim - Privacy"));
1619 g_signal_connect(GTK_OBJECT(pwin), "destroy", G_CALLBACK(destroy_privacy), NULL);
1620 gtk_widget_realize(pwin);
1621
1622 gtk_widget_set_usize(pwin, 0, 400);
1623
1624 box = gtk_vbox_new(FALSE, 5);
1625 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
1626 gtk_container_add(GTK_CONTAINER(pwin), box);
1627 gtk_widget_show(box);
1628
1629 label = gtk_label_new(_("Privacy settings are affected immediately."));
1630 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
1631 gtk_widget_show(label);
1632
1633 deny_conn_hbox = gtk_hbox_new(FALSE, 5);
1634 gtk_box_pack_start(GTK_BOX(box), deny_conn_hbox, FALSE, FALSE, 0);
1635 gtk_widget_show(deny_conn_hbox);
1636
1637 label = gtk_label_new(_("Set privacy for:"));
1638 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), label, FALSE, FALSE, 5);
1639 gtk_widget_show(label);
1640
1641 deny_opt_menu = gtk_option_menu_new();
1642 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), deny_opt_menu, FALSE, FALSE, 5);
1643 g_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", G_CALLBACK(des_deny_opt), NULL);
1644 gtk_widget_show(deny_opt_menu);
1645
1646 build_deny_menu();
1647
1648 hbox = gtk_hbox_new(FALSE, 5);
1649 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 5);
1650 gtk_widget_show(hbox);
1651
1652 vbox = gtk_vbox_new(FALSE, 5);
1653 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5);
1654 gtk_widget_show(vbox);
1655
1656 deny_type = deny_opt(_("Allow all users to contact me"), 1, vbox, NULL);
1657 deny_type = deny_opt(_("Allow only the users below"), 3, vbox, deny_type);
1658 deny_type = deny_opt(_("Allow only users on my buddy list"), 5, vbox, deny_type);
1659
1660 label = gtk_label_new(_("Allow List"));
1661 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
1662 gtk_widget_show(label);
1663
1664 sw = gtk_scrolled_window_new(NULL, NULL);
1665 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1666 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1667 gtk_widget_show(sw);
1668
1669 allow_list = gtk_list_new();
1670 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), allow_list);
1671 gtk_widget_show(allow_list);
1672
1673 build_allow_list();
1674
1675 bbox = gtk_hbox_new(TRUE, 5);
1676 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
1677 gtk_widget_show(bbox);
1678
1679 button = picture_button(pwin, _("Add"), gnome_add_xpm);
1680 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), (void *)TRUE);
1681 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1682
1683 button = picture_button(pwin, _("Remove"), gnome_remove_xpm);
1684 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), (void *)TRUE);
1685 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1686
1687 vbox = gtk_vbox_new(FALSE, 5);
1688 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5);
1689 gtk_widget_show(vbox);
1690
1691 deny_type = deny_opt(_("Deny all users"), 2, vbox, deny_type);
1692 deny_type = deny_opt(_("Block the users below"), 4, vbox, deny_type);
1693
1694 label = gtk_label_new(_("Block List"));
1695 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
1696 gtk_widget_show(label);
1697
1698 sw = gtk_scrolled_window_new(NULL, NULL);
1699 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1700 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1701 gtk_widget_show(sw);
1702
1703 block_list = gtk_list_new();
1704 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), block_list);
1705 gtk_widget_show(block_list);
1706
1707 build_block_list();
1708
1709 bbox = gtk_hbox_new(TRUE, 5);
1710 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
1711 gtk_widget_show(bbox);
1712
1713 button = picture_button(pwin, _("Add"), gnome_add_xpm);
1714 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_add), FALSE);
1715 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1716
1717 button = picture_button(pwin, _("Remove"), gnome_remove_xpm);
1718 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(pref_deny_rem), FALSE);
1719 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1720
1721 sep = gtk_hseparator_new();
1722 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
1723 gtk_widget_show(sep);
1724
1725 hbox = gtk_hbox_new(TRUE, 5);
1726 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
1727 gtk_widget_show(hbox);
1728 close_button = picture_button(pwin, _("Close"), cancel_xpm);
1729 gtk_box_pack_end(GTK_BOX(hbox), close_button, FALSE, FALSE, 5);
1730 g_signal_connect_swapped(GTK_OBJECT(close_button), "clicked", G_CALLBACK(gtk_widget_destroy), pwin);
1731
1732 gtk_widget_show(pwin);
1733 }
1734
1735
1736 1596
1737 /*------------------------------------------------------------------------*/ 1597 /*------------------------------------------------------------------------*/
1738 /* The dialog for new buddy pounces */ 1598 /* The dialog for new buddy pounces */
1739 /*------------------------------------------------------------------------*/ 1599 /*------------------------------------------------------------------------*/
1740 1600