comparison src/prefs.c @ 1124:a70d5200edde

[gaim-migrate @ 1134] starting to put the permit/deny stuff back. i think this is a suitable beginning for the UI. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 22 Nov 2000 12:58:27 +0000
parents bc718030af96
children 1a3dbc0e6529
comparison
equal deleted inserted replaced
1123:bc718030af96 1124:a70d5200edde
46 46
47 struct debug_window *dw = NULL; 47 struct debug_window *dw = NULL;
48 static GtkWidget *prefs = NULL; 48 static GtkWidget *prefs = NULL;
49 49
50 static GtkWidget *gaim_button(const char *, int *, int, GtkWidget *); 50 static GtkWidget *gaim_button(const char *, int *, int, GtkWidget *);
51 static void prefs_build_general(GtkWidget *); 51 static void prefs_build_general();
52 static void prefs_build_buddy(GtkWidget *); 52 static void prefs_build_buddy();
53 static void prefs_build_convo(GtkWidget *); 53 static void prefs_build_convo();
54 static void prefs_build_sound(GtkWidget *); 54 static void prefs_build_sound();
55 static void prefs_build_away(GtkWidget *); 55 static void prefs_build_away();
56 static void prefs_build_browser(GtkWidget *); 56 static void prefs_build_browser();
57 static void prefs_build_deny();
57 static gint handle_delete(GtkWidget *, GdkEvent *, void *); 58 static gint handle_delete(GtkWidget *, GdkEvent *, void *);
58 static void delete_prefs(GtkWidget *, void *); 59 static void delete_prefs(GtkWidget *, void *);
59 void set_default_away(GtkWidget *, gpointer); 60 void set_default_away(GtkWidget *, gpointer);
60 61
61 static GtkWidget *prefdialog = NULL; 62 static GtkWidget *prefdialog = NULL;
62 static GtkWidget *debugbutton = NULL; 63 static GtkWidget *debugbutton = NULL;
63 GtkWidget *prefs_away_list = NULL; 64 GtkWidget *prefs_away_list = NULL;
64 GtkWidget *prefs_away_menu = NULL; 65 GtkWidget *prefs_away_menu = NULL;
66 GtkWidget *preftree = NULL;
67 GtkCTreeNode *general_node = NULL;
68 GtkCTreeNode *deny_node = NULL;
65 69
66 static void destdeb(GtkWidget *m, gpointer n) 70 static void destdeb(GtkWidget *m, gpointer n)
67 { 71 {
68 gtk_widget_destroy(debugbutton); 72 gtk_widget_destroy(debugbutton);
69 debugbutton = NULL; 73 debugbutton = NULL;
115 gtk_widget_show(label); 119 gtk_widget_show(label);
116 120
117 /* 121 /*
118 prefrem = gaim_button(_("Remember password"), &general_options, OPT_GEN_REMEMBER_PASS, box); 122 prefrem = gaim_button(_("Remember password"), &general_options, OPT_GEN_REMEMBER_PASS, box);
119 gtk_signal_connect(GTK_OBJECT(prefrem), "destroy", GTK_SIGNAL_FUNC(remdes), 0); 123 gtk_signal_connect(GTK_OBJECT(prefrem), "destroy", GTK_SIGNAL_FUNC(remdes), 0);
120 */ 124 gaim_button(_("Auto-login"), &general_options, OPT_GEN_AUTO_LOGIN, box);
121 /* gaim_button(_("Auto-login"), &general_options, OPT_GEN_AUTO_LOGIN, box); */
122 125
123 sep = gtk_hseparator_new(); 126 sep = gtk_hseparator_new();
124 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 127 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
125 gtk_widget_show(sep); 128 gtk_widget_show(sep);
129 */
126 130
127 gaim_button(_("Use borderless buttons (requires restart for some buttons)"), &display_options, OPT_DISP_COOL_LOOK, box); 131 gaim_button(_("Use borderless buttons (requires restart for some buttons)"), &display_options, OPT_DISP_COOL_LOOK, box);
128 gaim_button(_("Show Buddy Ticker after restart"), &display_options, OPT_DISP_SHOW_BUDDYTICKER, box); 132 gaim_button(_("Show Buddy Ticker after restart"), &display_options, OPT_DISP_SHOW_BUDDYTICKER, box);
129 if (!dw && (general_options & OPT_GEN_DEBUG)) 133 if (!dw && (general_options & OPT_GEN_DEBUG))
130 general_options = general_options ^ OPT_GEN_DEBUG; 134 general_options = general_options ^ OPT_GEN_DEBUG;
1345 } 1349 }
1346 1350
1347 gtk_widget_show(prefdialog); 1351 gtk_widget_show(prefdialog);
1348 } 1352 }
1349 1353
1354 static GtkWidget *deny_conn_hbox = NULL;
1355 static GtkWidget *deny_opt_menu = NULL;
1356 static struct gaim_connection *current_deny_gc = NULL;
1357 static gboolean current_is_deny = FALSE;
1358 static GtkWidget *allow_list = NULL;
1359 static GtkWidget *block_list = NULL;
1360
1361 static void set_deny_mode(GtkWidget *w, int data)
1362 {
1363 current_deny_gc->permdeny = data;
1364 serv_set_permit_deny(current_deny_gc);
1365 do_export(NULL, 0);
1366 }
1367
1368 static GtkWidget *deny_opt(char *label, int which, GtkWidget *box, GtkWidget *set)
1369 {
1370 GtkWidget *opt;
1371
1372 if (!set)
1373 opt = gtk_radio_button_new_with_label(NULL, label);
1374 else
1375 opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), label);
1376 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0);
1377 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_deny_mode), (void *)which);
1378 gtk_widget_show(opt);
1379 if (current_deny_gc->permdeny == which)
1380 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE);
1381
1382 return opt;
1383 }
1384
1385 static void des_deny_opt(GtkWidget *d, gpointer e)
1386 {
1387 gtk_widget_destroy(d);
1388 current_deny_gc = NULL;
1389 deny_conn_hbox = NULL;
1390 deny_opt_menu = NULL;
1391 current_is_deny = FALSE;
1392 allow_list = NULL;
1393 block_list = NULL;
1394 }
1395
1396 static void build_allow_list()
1397 {
1398 GtkWidget *label;
1399 GtkWidget *list_item;
1400 GSList *p = current_deny_gc->permit;
1401
1402 gtk_list_remove_items(GTK_LIST(allow_list), GTK_LIST(allow_list)->children);
1403
1404 while (p) {
1405 label = gtk_label_new(p->data);
1406 list_item = gtk_list_item_new();
1407 gtk_container_add(GTK_CONTAINER(list_item), label);
1408 gtk_object_set_user_data(GTK_OBJECT(list_item), p->data);
1409 gtk_widget_show(label);
1410 gtk_container_add(GTK_CONTAINER(allow_list), list_item);
1411 gtk_widget_show(list_item);
1412 p = p->next;
1413 }
1414 }
1415
1416 void build_block_list()
1417 {
1418 GtkWidget *label;
1419 GtkWidget *list_item;
1420 GSList *d = current_deny_gc->deny;
1421
1422 if (!prefs) return;
1423
1424 gtk_list_remove_items(GTK_LIST(block_list), GTK_LIST(block_list)->children);
1425
1426 while (d) {
1427 label = gtk_label_new(d->data);
1428 list_item = gtk_list_item_new();
1429 gtk_container_add(GTK_CONTAINER(list_item), label);
1430 gtk_object_set_user_data(GTK_OBJECT(list_item), d->data);
1431 gtk_widget_show(label);
1432 gtk_container_add(GTK_CONTAINER(block_list), list_item);
1433 gtk_widget_show(list_item);
1434 d = d->next;
1435 }
1436 }
1437
1438 static void deny_gc_opt(GtkWidget *opt, struct gaim_connection *gc)
1439 {
1440 current_deny_gc = gc;
1441 build_allow_list();
1442 build_block_list();
1443 }
1444
1445 static void build_deny_menu()
1446 {
1447 GtkWidget *menu;
1448 GtkWidget *opt;
1449 GSList *c = connections;
1450 struct gaim_connection *gc;
1451 int count = 0;
1452 gboolean found = FALSE;
1453
1454 if (g_slist_length(connections) == 1) {
1455 gtk_widget_hide(deny_conn_hbox);
1456 return;
1457 } else
1458 gtk_widget_show(deny_conn_hbox);
1459
1460 menu = gtk_menu_new();
1461
1462 while (c) {
1463 gc = (struct gaim_connection *)c->data;
1464 opt = gtk_menu_item_new_with_label(gc->username);
1465 gtk_signal_connect(GTK_OBJECT(opt), "activate",
1466 GTK_SIGNAL_FUNC(deny_gc_opt), gc);
1467 gtk_widget_show(opt);
1468 gtk_menu_append(GTK_MENU(menu), opt);
1469 if (gc == current_deny_gc)
1470 found = TRUE;
1471 else if (!found)
1472 count++;
1473 c = c->next;
1474 }
1475
1476 if (!found) {
1477 current_deny_gc = connections->data;
1478 count = 0;
1479 }
1480
1481 gtk_option_menu_remove_menu(GTK_OPTION_MENU(deny_opt_menu));
1482 gtk_option_menu_set_menu(GTK_OPTION_MENU(deny_opt_menu), menu);
1483 gtk_option_menu_set_history(GTK_OPTION_MENU(deny_opt_menu), count);
1484
1485 gtk_widget_show(menu);
1486 gtk_widget_show(deny_opt_menu);
1487 }
1488
1489 static void deny_page()
1490 {
1491 GtkWidget *parent;
1492 GtkWidget *box;
1493 GtkWidget *hbox;
1494 GtkWidget *label;
1495 GtkWidget *vbox;
1496 GtkWidget *opt;
1497 GtkWidget *sw;
1498 GtkWidget *bbox;
1499 GtkWidget *button;
1500
1501 current_deny_gc = connections->data; /* this is safe because this screen will only be
1502 available when there are connections */
1503 current_is_deny = TRUE;
1504
1505 parent = prefdialog->parent;
1506 gtk_widget_destroy(prefdialog);
1507
1508 prefdialog = gtk_frame_new(_("Privacy Options"));
1509 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
1510
1511 box = gtk_vbox_new(FALSE, 5);
1512 gtk_container_add(GTK_CONTAINER(prefdialog), box);
1513 gtk_widget_show(box);
1514
1515 label = gtk_label_new(_("No. This doesn't work yet. Nothing actually gets sent to the"
1516 " server. But the UI works. That's all I wanted."));
1517 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
1518 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
1519 gtk_widget_show(label);
1520
1521 deny_conn_hbox = gtk_hbox_new(FALSE, 5);
1522 gtk_box_pack_start(GTK_BOX(box), deny_conn_hbox, FALSE, FALSE, 0);
1523 gtk_widget_show(deny_conn_hbox);
1524
1525 label = gtk_label_new(_("Set privacy for:"));
1526 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), label, FALSE, FALSE, 5);
1527 gtk_widget_show(label);
1528
1529 deny_opt_menu = gtk_option_menu_new();
1530 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), deny_opt_menu, FALSE, FALSE, 5);
1531 gtk_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy",
1532 GTK_SIGNAL_FUNC(des_deny_opt), NULL);
1533 gtk_widget_show(deny_opt_menu);
1534
1535 build_deny_menu();
1536
1537 hbox = gtk_hbox_new(FALSE, 5);
1538 gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 5);
1539 gtk_widget_show(hbox);
1540
1541 vbox = gtk_vbox_new(FALSE, 5);
1542 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5);
1543 gtk_widget_show(vbox);
1544
1545 opt = deny_opt(_("Allow all users to contact me"), 1, vbox, NULL);
1546 opt = deny_opt(_("Allow only the users below"), 3, vbox, opt);
1547
1548 label = gtk_label_new(_("Allow List"));
1549 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
1550 gtk_widget_show(label);
1551
1552 sw = gtk_scrolled_window_new(NULL, NULL);
1553 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
1554 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1555 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1556 gtk_widget_show(sw);
1557
1558 allow_list = gtk_list_new();
1559 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), allow_list);
1560 gtk_widget_show(allow_list);
1561
1562 build_allow_list();
1563
1564 bbox = gtk_hbox_new(TRUE, 5);
1565 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
1566 gtk_widget_show(bbox);
1567
1568 button = picture_button(prefs, _("Add"), gnome_add_xpm);
1569 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1570
1571 button = picture_button(prefs, _("Remove"), gnome_remove_xpm);
1572 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1573
1574 vbox = gtk_vbox_new(FALSE, 5);
1575 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5);
1576 gtk_widget_show(vbox);
1577
1578 opt = deny_opt(_("Deny all users"), 2, vbox, opt);
1579 opt = deny_opt(_("Block the users below"), 4, vbox, opt);
1580
1581 label = gtk_label_new(_("Block List"));
1582 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
1583 gtk_widget_show(label);
1584
1585 sw = gtk_scrolled_window_new(NULL, NULL);
1586 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
1587 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1588 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1589 gtk_widget_show(sw);
1590
1591 block_list = gtk_list_new();
1592 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), block_list);
1593 gtk_widget_show(block_list);
1594
1595 build_block_list();
1596
1597 bbox = gtk_hbox_new(TRUE, 5);
1598 gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
1599 gtk_widget_show(bbox);
1600
1601 button = picture_button(prefs, _("Add"), gnome_add_xpm);
1602 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1603
1604 button = picture_button(prefs, _("Remove"), gnome_remove_xpm);
1605 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1606
1607 gtk_widget_show(prefdialog);
1608 }
1609
1610 void update_connection_dependent_prefs() /* what a crappy name */
1611 {
1612 if (!prefs) return;
1613 if (!connections && deny_node) {
1614 if (current_is_deny)
1615 gtk_ctree_select(GTK_CTREE(preftree), general_node);
1616 gtk_ctree_remove_node(GTK_CTREE(preftree), deny_node);
1617 deny_node = NULL;
1618 } else if (connections) {
1619 if (!deny_node)
1620 prefs_build_deny();
1621 else {
1622 build_deny_menu();
1623 build_allow_list();
1624 build_block_list();
1625 }
1626 }
1627 }
1628
1350 static void try_me(GtkCTree *ctree, GtkCTreeNode *node) 1629 static void try_me(GtkCTree *ctree, GtkCTreeNode *node)
1351 { 1630 {
1352 /* this is a hack */ 1631 /* this is a hack */
1353 void (*func)(); 1632 void (*func)();
1354 func = gtk_ctree_node_get_row_data(ctree, node); 1633 func = gtk_ctree_node_get_row_data(ctree, node);
1358 void show_prefs() 1637 void show_prefs()
1359 { 1638 {
1360 GtkWidget *vbox; 1639 GtkWidget *vbox;
1361 GtkWidget *hpaned; 1640 GtkWidget *hpaned;
1362 GtkWidget *scroll; 1641 GtkWidget *scroll;
1363 GtkWidget *preftree;
1364 GtkWidget *container; 1642 GtkWidget *container;
1365 GtkWidget *hbox; 1643 GtkWidget *hbox;
1366 GtkWidget *close; 1644 GtkWidget *close;
1367 1645
1368 if (prefs) { 1646 if (prefs) {
1411 1689
1412 prefdialog = gtk_vbox_new(FALSE, 5); 1690 prefdialog = gtk_vbox_new(FALSE, 5);
1413 gtk_container_add(GTK_CONTAINER(container), prefdialog); 1691 gtk_container_add(GTK_CONTAINER(container), prefdialog);
1414 gtk_widget_show(prefdialog); 1692 gtk_widget_show(prefdialog);
1415 1693
1416 prefs_build_general(preftree); 1694 prefs_build_general();
1417 prefs_build_buddy(preftree); 1695 prefs_build_buddy();
1418 prefs_build_convo(preftree); 1696 prefs_build_convo();
1419 prefs_build_sound(preftree); 1697 prefs_build_sound();
1420 prefs_build_away(preftree); 1698 prefs_build_away();
1421 prefs_build_browser(preftree); 1699 prefs_build_browser();
1700 prefs_build_deny();
1422 1701
1423 //general_page(); 1702 //general_page();
1424 1703
1425 hbox = gtk_hbox_new(FALSE, 5); 1704 hbox = gtk_hbox_new(FALSE, 5);
1426 gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); 1705 gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
1536 save_prefs(); 1815 save_prefs();
1537 gtk_widget_destroy(prefs); 1816 gtk_widget_destroy(prefs);
1538 } 1817 }
1539 prefs = NULL; 1818 prefs = NULL;
1540 prefs_away_menu = NULL; 1819 prefs_away_menu = NULL;
1820 deny_node = NULL;
1821 current_deny_gc = NULL;
1541 } 1822 }
1542 1823
1543 1824
1544 void set_option(GtkWidget *w, int *option) 1825 void set_option(GtkWidget *w, int *option)
1545 { 1826 {
1614 gtk_widget_show(button); 1895 gtk_widget_show(button);
1615 1896
1616 return button; 1897 return button;
1617 } 1898 }
1618 1899
1619 void prefs_build_general(GtkWidget *preftree) 1900 void prefs_build_general()
1620 { 1901 {
1621 GtkCTreeNode *parent;
1622 char *text[1]; 1902 char *text[1];
1623 1903
1624 text[0] = _("General"); 1904 text[0] = _("General");
1625 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 1905 general_node = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
1626 text, 5, NULL, NULL, NULL, NULL, 0, 1); 1906 text, 5, NULL, NULL, NULL, NULL, 0, 1);
1627 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, general_page); 1907 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), general_node, general_page);
1628 1908
1629 gtk_ctree_select(GTK_CTREE(preftree), parent); 1909 gtk_ctree_select(GTK_CTREE(preftree), general_node);
1630 } 1910 }
1631 1911
1632 void prefs_build_buddy(GtkWidget *preftree) 1912 void prefs_build_buddy()
1633 { 1913 {
1634 GtkCTreeNode *parent; 1914 GtkCTreeNode *parent;
1635 char *text[1]; 1915 char *text[1];
1636 1916
1637 text[0] = _("Buddy List"); 1917 text[0] = _("Buddy List");
1638 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 1918 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
1639 text, 5, NULL, NULL, NULL, NULL, 0, 1); 1919 text, 5, NULL, NULL, NULL, NULL, 0, 1);
1640 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, buddy_page); 1920 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, buddy_page);
1641 } 1921 }
1642 1922
1643 void prefs_build_convo(GtkWidget *preftree) 1923 void prefs_build_convo()
1644 { 1924 {
1645 GtkCTreeNode *parent, *node, *node2; 1925 GtkCTreeNode *parent, *node, *node2;
1646 char *text[1]; 1926 char *text[1];
1647 1927
1648 text[0] = _("Conversations"); 1928 text[0] = _("Conversations");
1669 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL, 1949 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL,
1670 text, 5, NULL, NULL, NULL, NULL, 0, 1); 1950 text, 5, NULL, NULL, NULL, NULL, 0, 1);
1671 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, font_page); 1951 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, font_page);
1672 } 1952 }
1673 1953
1674 void prefs_build_sound(GtkWidget *preftree) 1954 void prefs_build_sound()
1675 { 1955 {
1676 GtkCTreeNode *parent, *node; 1956 GtkCTreeNode *parent, *node;
1677 char *text[1]; 1957 char *text[1];
1678 1958
1679 text[0] = _("Sounds"); 1959 text[0] = _("Sounds");
1685 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL, 1965 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL,
1686 text, 5, NULL, NULL, NULL, NULL, 0, 1); 1966 text, 5, NULL, NULL, NULL, NULL, 0, 1);
1687 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, event_page); 1967 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, event_page);
1688 } 1968 }
1689 1969
1690 void prefs_build_away(GtkWidget *preftree) 1970 void prefs_build_away()
1691 { 1971 {
1692 GtkCTreeNode *parent; 1972 GtkCTreeNode *parent;
1693 char *text[1]; 1973 char *text[1];
1694 1974
1695 text[0] = _("Away Messages"); 1975 text[0] = _("Away Messages");
1696 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 1976 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
1697 text, 5, NULL, NULL, NULL, NULL, 0, 1); 1977 text, 5, NULL, NULL, NULL, NULL, 0, 1);
1698 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, away_page); 1978 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, away_page);
1699 } 1979 }
1700 1980
1701 void prefs_build_browser(GtkWidget *preftree) 1981 void prefs_build_browser()
1702 { 1982 {
1703 GtkCTreeNode *parent; 1983 GtkCTreeNode *parent;
1704 char *text[1]; 1984 char *text[1];
1705 1985
1706 text[0] = _("Browser"); 1986 text[0] = _("Browser");
1707 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 1987 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
1708 text, 5, NULL, NULL, NULL, NULL, 0, 1); 1988 text, 5, NULL, NULL, NULL, NULL, 0, 1);
1709 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, browser_page); 1989 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, browser_page);
1710 } 1990 }
1991
1992 void prefs_build_deny()
1993 {
1994 char *text[1];
1995
1996 if (connections && !deny_node) {
1997 text[0] = _("Privacy");
1998 deny_node = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
1999 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2000 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), deny_node, deny_page);
2001 }
2002 }