Mercurial > pidgin
comparison src/buddy_chat.c @ 4089:7f4f3aa61069
[gaim-migrate @ 4304]
Changing the button style in Preferences no longer reverts conversation
windows to the old style. It should work now. Pictures, Text, and Pictures
& Text all work for IMs and chats here. However, there may be bugs, so let
me know.
Note that the style you select is not applied to newly created windows
during the same session or when gaim is restarted. This isn't my fault! :)
This probably broke during either the preferences or conversations rewrite.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Tue, 17 Dec 2002 04:44:00 +0000 |
parents | 3ccbdf8e7f8d |
children | 286d487a4fd7 |
comparison
equal
deleted
inserted
replaced
4088:97003c0ef184 | 4089:7f4f3aa61069 |
---|---|
1494 if (b->topic) | 1494 if (b->topic) |
1495 g_free(b->topic); | 1495 g_free(b->topic); |
1496 g_free(b); | 1496 g_free(b); |
1497 } | 1497 } |
1498 | 1498 |
1499 static GtkWidget *change_text(GtkWidget *win, char *text, GtkWidget *button, char **xpm, int chat) | 1499 static GtkWidget *change_text(GtkWidget *win, char *text, GtkWidget *button, char *stock, int chat) |
1500 { | 1500 { |
1501 int dispstyle = set_dispstyle(chat); | 1501 int dispstyle = set_dispstyle(chat); |
1502 GtkWidget *parent = button->parent; | 1502 GtkWidget *parent = button->parent; |
1503 gtk_widget_destroy(button); | 1503 gtk_widget_destroy(button); |
1504 button = picture_button2(win, text, xpm, dispstyle); | 1504 /* XXX button = picture_button2(win, text, xpm, dispstyle); */ |
1505 button = gaim_pixbuf_button_from_stock((dispstyle == 0 ? NULL : text), | |
1506 (dispstyle == 1 ? NULL : stock), | |
1507 GAIM_BUTTON_VERTICAL); | |
1508 #if 0 | |
1505 if (chat == 1) | 1509 if (chat == 1) |
1506 gtk_box_pack_start(GTK_BOX(parent), button, dispstyle, dispstyle, 5); | 1510 gtk_box_pack_start(GTK_BOX(parent), button, dispstyle, dispstyle, 5); |
1507 else | 1511 else |
1508 gtk_box_pack_end(GTK_BOX(parent), button, dispstyle, dispstyle, 0); | 1512 gtk_box_pack_end(GTK_BOX(parent), button, dispstyle, dispstyle, 0); |
1513 | |
1514 gtk_box_pack_start(GTK_BOX(parent), button, dispstyle, dispstyle, 0); | |
1515 #endif | |
1516 | |
1509 gtk_widget_show(button); | 1517 gtk_widget_show(button); |
1510 return button; | 1518 return button; |
1511 } | 1519 } |
1512 | 1520 |
1513 void update_chat_button_pix() | 1521 void update_chat_button_pix() |
1514 { | 1522 { |
1515 GSList *C = connections; | 1523 GSList *C = connections; |
1516 struct gaim_connection *g; | 1524 struct gaim_connection *g; |
1525 GtkWidget *parent; | |
1517 | 1526 |
1518 while (C) { | 1527 while (C) { |
1519 GSList *bcs; | 1528 GSList *bcs; |
1520 struct conversation *c; | 1529 struct conversation *c; |
1521 int opt = 1; | 1530 int opt = 1; |
1522 g = (struct gaim_connection *)C->data; | 1531 g = (struct gaim_connection *)C->data; |
1523 bcs = g->buddy_chats; | 1532 bcs = g->buddy_chats; |
1524 | 1533 |
1525 while (bcs) { | 1534 while (bcs) { |
1526 c = (struct conversation *)bcs->data; | 1535 c = (struct conversation *)bcs->data; |
1527 c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm, opt); | 1536 parent = c->send->parent; |
1528 c->invite = change_text(c->window, _("Invite"), c->invite, join_xpm, opt); | 1537 |
1529 /* | 1538 c->send = change_text(c->window, _("Send"), c->send, "gtk-convert", opt); |
1530 c->close = change_text(c->window, _("Close"), c->close, cancel_xpm, opt); | 1539 c->invite = change_text(c->window, _("Invite"), c->invite, "gtk-jump-to", opt); |
1531 gtk_object_set_user_data(GTK_OBJECT(c->close), c); | 1540 gtk_box_pack_end(GTK_BOX(parent), c->send, FALSE, FALSE, 0); |
1532 gtk_signal_connect(GTK_OBJECT(c->close), "clicked", | 1541 gtk_box_pack_end(GTK_BOX(parent), c->invite, FALSE, FALSE, 0); |
1533 GTK_SIGNAL_FUNC(close_callback), c); | 1542 |
1534 */ | |
1535 gtk_signal_connect(GTK_OBJECT(c->send), "clicked", | 1543 gtk_signal_connect(GTK_OBJECT(c->send), "clicked", |
1536 GTK_SIGNAL_FUNC(send_callback), c); | 1544 GTK_SIGNAL_FUNC(send_callback), c); |
1537 gtk_signal_connect(GTK_OBJECT(c->invite), "clicked", | 1545 gtk_signal_connect(GTK_OBJECT(c->invite), "clicked", |
1538 GTK_SIGNAL_FUNC(invite_callback), c); | 1546 GTK_SIGNAL_FUNC(invite_callback), c); |
1547 | |
1548 gtk_button_set_relief(GTK_BUTTON(c->send), GTK_RELIEF_NONE); | |
1549 gtk_button_set_relief(GTK_BUTTON(c->invite), GTK_RELIEF_NONE); | |
1539 | 1550 |
1540 update_buttons_by_protocol(c); | 1551 update_buttons_by_protocol(c); |
1541 | 1552 |
1542 bcs = bcs->next; | 1553 bcs = bcs->next; |
1543 } | 1554 } |
1554 int dispstyle = set_dispstyle(0); | 1565 int dispstyle = set_dispstyle(0); |
1555 | 1566 |
1556 while (bcs) { | 1567 while (bcs) { |
1557 c = (struct conversation *)bcs->data; | 1568 c = (struct conversation *)bcs->data; |
1558 parent = c->send->parent; | 1569 parent = c->send->parent; |
1559 /* c->close = change_text(c->window, _("Close"), c->close, cancel_xpm, opt); | 1570 |
1560 gtk_box_reorder_child(GTK_BOX(parent), c->close, 0); | 1571 c->send = change_text(c->window, _("Send"), c->send, "gtk-convert", opt); |
1561 gtk_box_set_child_packing(GTK_BOX(parent), c->sep1, dispstyle, dispstyle, 0, | 1572 gtk_box_pack_end(GTK_BOX(parent), c->send, FALSE, FALSE, 0); |
1562 GTK_PACK_END); | 1573 |
1563 */ | 1574 c->warn = change_text(c->window, _("Warn"), c->warn, "gtk-dialog-warning", opt); |
1575 gtk_box_pack_start(GTK_BOX(parent), c->warn, FALSE, FALSE, 0); | |
1576 c->block = change_text(c->window, _("Block"), c->block, "gtk-stop", opt); | |
1577 gtk_box_pack_start(GTK_BOX(parent), c->block, FALSE, FALSE, 0); | |
1578 | |
1564 if (find_buddy(c->gc, c->name) == NULL) | 1579 if (find_buddy(c->gc, c->name) == NULL) |
1565 c->add = change_text(c->window, _("Add"), c->add, gnome_add_xpm, opt); | 1580 c->add = change_text(c->window, _("Add"), c->add, "gtk-add", opt); |
1566 else | 1581 else |
1567 c->add = change_text(c->window, _("Remove"), c->add, gnome_remove_xpm, opt); | 1582 c->add = change_text(c->window, _("Remove"), c->add, "gtk-remove", opt); |
1568 gtk_box_reorder_child(GTK_BOX(parent), c->add, 2); | 1583 gtk_box_pack_start(GTK_BOX(parent), c->add, FALSE, FALSE, 0); |
1569 c->block = change_text(c->window, _("Block"), c->block, block_xpm, opt); | 1584 c->info = change_text(c->window, _("Info"), c->info, "gtk-find", opt); |
1570 gtk_box_reorder_child(GTK_BOX(parent), c->block, 3); | 1585 gtk_box_pack_start(GTK_BOX(parent), c->info, FALSE, FALSE, 0); |
1571 c->warn = change_text(c->window, _("Warn"), c->warn, warn_xpm, opt); | 1586 |
1572 gtk_box_reorder_child(GTK_BOX(parent), c->warn, 4); | 1587 gtk_button_set_relief(GTK_BUTTON(c->info), GTK_RELIEF_NONE); |
1573 c->info = change_text(c->window, _("Info"), c->info, tb_search_xpm, opt); | 1588 gtk_button_set_relief(GTK_BUTTON(c->add), GTK_RELIEF_NONE); |
1574 gtk_box_reorder_child(GTK_BOX(parent), c->info, 5); | 1589 gtk_button_set_relief(GTK_BUTTON(c->warn), GTK_RELIEF_NONE); |
1575 c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm, opt); | 1590 gtk_button_set_relief(GTK_BUTTON(c->send), GTK_RELIEF_NONE); |
1576 gtk_box_set_child_packing(GTK_BOX(parent), c->sep2, dispstyle, dispstyle, 0, | 1591 gtk_button_set_relief(GTK_BUTTON(c->block), GTK_RELIEF_NONE); |
1577 GTK_PACK_END); | 1592 |
1578 gtk_box_reorder_child(GTK_BOX(parent), c->send, 7); | 1593 gtk_size_group_add_widget(c->sg, c->info); |
1579 gtk_object_set_user_data(GTK_OBJECT(c->close), c); | 1594 gtk_size_group_add_widget(c->sg, c->add); |
1580 gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback), c); | 1595 gtk_size_group_add_widget(c->sg, c->warn); |
1596 gtk_size_group_add_widget(c->sg, c->send); | |
1597 gtk_size_group_add_widget(c->sg, c->block); | |
1598 | |
1599 gtk_box_reorder_child(GTK_BOX(parent), c->warn, 1); | |
1600 gtk_box_reorder_child(GTK_BOX(parent), c->block, 2); | |
1601 gtk_box_reorder_child(GTK_BOX(parent), c->add, 3); | |
1602 gtk_box_reorder_child(GTK_BOX(parent), c->info, 4); | |
1603 gtk_box_reorder_child(GTK_BOX(parent), c->sep2, 5); | |
1604 | |
1605 | |
1606 update_buttons_by_protocol(c); | |
1607 | |
1608 /* XXX gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback), c); */ | |
1581 gtk_signal_connect(GTK_OBJECT(c->send), "clicked", GTK_SIGNAL_FUNC(send_callback), c); | 1609 gtk_signal_connect(GTK_OBJECT(c->send), "clicked", GTK_SIGNAL_FUNC(send_callback), c); |
1582 gtk_signal_connect(GTK_OBJECT(c->add), "clicked", GTK_SIGNAL_FUNC(add_callback), c); | 1610 gtk_signal_connect(GTK_OBJECT(c->add), "clicked", GTK_SIGNAL_FUNC(add_callback), c); |
1583 gtk_signal_connect(GTK_OBJECT(c->info), "clicked", GTK_SIGNAL_FUNC(info_callback), c); | 1611 gtk_signal_connect(GTK_OBJECT(c->info), "clicked", GTK_SIGNAL_FUNC(info_callback), c); |
1584 gtk_signal_connect(GTK_OBJECT(c->warn), "clicked", GTK_SIGNAL_FUNC(warn_callback), c); | 1612 gtk_signal_connect(GTK_OBJECT(c->warn), "clicked", GTK_SIGNAL_FUNC(warn_callback), c); |
1585 gtk_signal_connect(GTK_OBJECT(c->block), "clicked", GTK_SIGNAL_FUNC(block_callback), c); | 1613 gtk_signal_connect(GTK_OBJECT(c->block), "clicked", GTK_SIGNAL_FUNC(block_callback), c); |