Mercurial > pidgin.yaz
diff src/buddy_chat.c @ 909:9f2afe5faed5
[gaim-migrate @ 919]
yay, change IM windows automagically
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 14 Sep 2000 22:11:28 +0000 |
parents | 08d5037c9296 |
children | 378c862a2381 |
line wrap: on
line diff
--- a/src/buddy_chat.c Thu Sep 14 21:11:08 2000 +0000 +++ b/src/buddy_chat.c Thu Sep 14 22:11:28 2000 +0000 @@ -33,14 +33,9 @@ #include "convo.h" -#include "pixmaps/tmp_send.xpm" -#include "pixmaps/close.xpm" -#include "pixmaps/tb_search.xpm" - #include "pixmaps/tb_forward.xpm" #include "pixmaps/join.xpm" -#include "pixmaps/cancel.xpm" - +#include "pixmaps/close.xpm" static GtkWidget *joinchat; static GtkWidget *entry; @@ -768,13 +763,16 @@ } -static GtkWidget *change_text(GtkWidget *win, char *text, GtkWidget *button, char **xpm) +static GtkWidget *change_text(GtkWidget *win, char *text, GtkWidget *button, char **xpm, int opt) { - gboolean dispstyle = (display_options & OPT_DISP_CHAT_SHOW_TEXT) ? TRUE : FALSE; + gboolean dispstyle = (display_options & opt) ? TRUE : FALSE; GtkWidget *parent = button->parent; gtk_widget_destroy(button); button = picture_button2(win, text, xpm, dispstyle); - gtk_box_pack_start(GTK_BOX(parent), button, dispstyle, dispstyle, 5); + if (opt == OPT_DISP_CHAT_SHOW_TEXT) + gtk_box_pack_start(GTK_BOX(parent), button, dispstyle, dispstyle, 5); + else + gtk_box_pack_end(GTK_BOX(parent), button, dispstyle, dispstyle, 0); gtk_widget_show(button); return button; } @@ -783,13 +781,14 @@ { GList *bcs = buddy_chats; struct conversation *c; + int opt = OPT_DISP_CHAT_SHOW_TEXT; while (bcs) { c = (struct conversation *)bcs->data; - c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm); - c->whisper = change_text(c->window, _("Whisper"), c->whisper, tb_forward_xpm); - c->invite = change_text(c->window, _("Invite"), c->invite, join_xpm); - c->close = change_text(c->window, _("Close"), c->close, cancel_xpm); + c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm, opt); + c->whisper = change_text(c->window, _("Whisper"), c->whisper, tb_forward_xpm, opt); + c->invite = change_text(c->window, _("Invite"), c->invite, join_xpm, opt); + c->close = change_text(c->window, _("Close"), c->close, cancel_xpm, opt); gtk_object_set_user_data(GTK_OBJECT(c->close), c); gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback),c); gtk_signal_connect(GTK_OBJECT(c->send), "clicked", GTK_SIGNAL_FUNC(send_callback),c); @@ -798,3 +797,42 @@ bcs = bcs->next; } } + +void update_im_button_pix() +{ + GList *bcs = conversations; + struct conversation *c; + GtkWidget *parent; + int opt = OPT_DISP_CONV_SHOW_TEXT; + gboolean dispstyle = (display_options & opt) ? TRUE : FALSE; + + while (bcs) { + c = (struct conversation *)bcs->data; + parent = c->close->parent; + c->close = change_text(c->window, _("Close"), c->close, cancel_xpm, opt); + gtk_box_reorder_child(GTK_BOX(parent), c->close, 0); + gtk_box_set_child_packing(GTK_BOX(parent), c->sep1, dispstyle, dispstyle, 0, GTK_PACK_END); + if (find_buddy(c->name) == NULL) + c->add = change_text(c->window, _("Add"), c->add, gnome_add_xpm, opt); + else + c->add = change_text(c->window, _("Remove"), c->add, gnome_remove_xpm, opt); + gtk_box_reorder_child(GTK_BOX(parent), c->add, 2); + c->block = change_text(c->window, _("Block"), c->block, block_xpm, opt); + gtk_box_reorder_child(GTK_BOX(parent), c->block, 3); + c->warn = change_text(c->window, _("Warn"), c->warn, warn_xpm, opt); + gtk_box_reorder_child(GTK_BOX(parent), c->warn, 4); + c->info = change_text(c->window, _("Info"), c->info, tb_search_xpm, opt); + gtk_box_reorder_child(GTK_BOX(parent), c->info, 5); + c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm, opt); + gtk_box_set_child_packing(GTK_BOX(parent), c->sep2, dispstyle, dispstyle, 0, GTK_PACK_END); + gtk_box_reorder_child(GTK_BOX(parent), c->send, 7); + gtk_object_set_user_data(GTK_OBJECT(c->close), c); + gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback),c); + gtk_signal_connect(GTK_OBJECT(c->send), "clicked", GTK_SIGNAL_FUNC(send_callback),c); + gtk_signal_connect(GTK_OBJECT(c->add), "clicked", GTK_SIGNAL_FUNC(add_callback),c); + gtk_signal_connect(GTK_OBJECT(c->info), "clicked", GTK_SIGNAL_FUNC(info_callback),c); + gtk_signal_connect(GTK_OBJECT(c->warn), "clicked", GTK_SIGNAL_FUNC(warn_callback),c); + gtk_signal_connect(GTK_OBJECT(c->block), "clicked", GTK_SIGNAL_FUNC(block_callback),c); + bcs = bcs->next; + } +}