Mercurial > pidgin
comparison 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 |
comparison
equal
deleted
inserted
replaced
908:d0527e1d2050 | 909:9f2afe5faed5 |
---|---|
31 #include "gtkhtml.h" | 31 #include "gtkhtml.h" |
32 #include <gdk/gdkkeysyms.h> | 32 #include <gdk/gdkkeysyms.h> |
33 | 33 |
34 #include "convo.h" | 34 #include "convo.h" |
35 | 35 |
36 #include "pixmaps/tmp_send.xpm" | |
37 #include "pixmaps/close.xpm" | |
38 #include "pixmaps/tb_search.xpm" | |
39 | |
40 #include "pixmaps/tb_forward.xpm" | 36 #include "pixmaps/tb_forward.xpm" |
41 #include "pixmaps/join.xpm" | 37 #include "pixmaps/join.xpm" |
42 #include "pixmaps/cancel.xpm" | 38 #include "pixmaps/close.xpm" |
43 | |
44 | 39 |
45 static GtkWidget *joinchat; | 40 static GtkWidget *joinchat; |
46 static GtkWidget *entry; | 41 static GtkWidget *entry; |
47 static GtkWidget *invite; | 42 static GtkWidget *invite; |
48 static GtkWidget *inviteentry; | 43 static GtkWidget *inviteentry; |
766 | 761 |
767 } | 762 } |
768 | 763 |
769 } | 764 } |
770 | 765 |
771 static GtkWidget *change_text(GtkWidget *win, char *text, GtkWidget *button, char **xpm) | 766 static GtkWidget *change_text(GtkWidget *win, char *text, GtkWidget *button, char **xpm, int opt) |
772 { | 767 { |
773 gboolean dispstyle = (display_options & OPT_DISP_CHAT_SHOW_TEXT) ? TRUE : FALSE; | 768 gboolean dispstyle = (display_options & opt) ? TRUE : FALSE; |
774 GtkWidget *parent = button->parent; | 769 GtkWidget *parent = button->parent; |
775 gtk_widget_destroy(button); | 770 gtk_widget_destroy(button); |
776 button = picture_button2(win, text, xpm, dispstyle); | 771 button = picture_button2(win, text, xpm, dispstyle); |
777 gtk_box_pack_start(GTK_BOX(parent), button, dispstyle, dispstyle, 5); | 772 if (opt == OPT_DISP_CHAT_SHOW_TEXT) |
773 gtk_box_pack_start(GTK_BOX(parent), button, dispstyle, dispstyle, 5); | |
774 else | |
775 gtk_box_pack_end(GTK_BOX(parent), button, dispstyle, dispstyle, 0); | |
778 gtk_widget_show(button); | 776 gtk_widget_show(button); |
779 return button; | 777 return button; |
780 } | 778 } |
781 | 779 |
782 void update_chat_button_pix() | 780 void update_chat_button_pix() |
783 { | 781 { |
784 GList *bcs = buddy_chats; | 782 GList *bcs = buddy_chats; |
785 struct conversation *c; | 783 struct conversation *c; |
784 int opt = OPT_DISP_CHAT_SHOW_TEXT; | |
786 | 785 |
787 while (bcs) { | 786 while (bcs) { |
788 c = (struct conversation *)bcs->data; | 787 c = (struct conversation *)bcs->data; |
789 c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm); | 788 c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm, opt); |
790 c->whisper = change_text(c->window, _("Whisper"), c->whisper, tb_forward_xpm); | 789 c->whisper = change_text(c->window, _("Whisper"), c->whisper, tb_forward_xpm, opt); |
791 c->invite = change_text(c->window, _("Invite"), c->invite, join_xpm); | 790 c->invite = change_text(c->window, _("Invite"), c->invite, join_xpm, opt); |
792 c->close = change_text(c->window, _("Close"), c->close, cancel_xpm); | 791 c->close = change_text(c->window, _("Close"), c->close, cancel_xpm, opt); |
793 gtk_object_set_user_data(GTK_OBJECT(c->close), c); | 792 gtk_object_set_user_data(GTK_OBJECT(c->close), c); |
794 gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback),c); | 793 gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback),c); |
795 gtk_signal_connect(GTK_OBJECT(c->send), "clicked", GTK_SIGNAL_FUNC(send_callback),c); | 794 gtk_signal_connect(GTK_OBJECT(c->send), "clicked", GTK_SIGNAL_FUNC(send_callback),c); |
796 gtk_signal_connect(GTK_OBJECT(c->invite), "clicked", GTK_SIGNAL_FUNC(invite_callback),c); | 795 gtk_signal_connect(GTK_OBJECT(c->invite), "clicked", GTK_SIGNAL_FUNC(invite_callback),c); |
797 gtk_signal_connect(GTK_OBJECT(c->whisper), "clicked", GTK_SIGNAL_FUNC(whisper_callback),c); | 796 gtk_signal_connect(GTK_OBJECT(c->whisper), "clicked", GTK_SIGNAL_FUNC(whisper_callback),c); |
798 bcs = bcs->next; | 797 bcs = bcs->next; |
799 } | 798 } |
800 } | 799 } |
800 | |
801 void update_im_button_pix() | |
802 { | |
803 GList *bcs = conversations; | |
804 struct conversation *c; | |
805 GtkWidget *parent; | |
806 int opt = OPT_DISP_CONV_SHOW_TEXT; | |
807 gboolean dispstyle = (display_options & opt) ? TRUE : FALSE; | |
808 | |
809 while (bcs) { | |
810 c = (struct conversation *)bcs->data; | |
811 parent = c->close->parent; | |
812 c->close = change_text(c->window, _("Close"), c->close, cancel_xpm, opt); | |
813 gtk_box_reorder_child(GTK_BOX(parent), c->close, 0); | |
814 gtk_box_set_child_packing(GTK_BOX(parent), c->sep1, dispstyle, dispstyle, 0, GTK_PACK_END); | |
815 if (find_buddy(c->name) == NULL) | |
816 c->add = change_text(c->window, _("Add"), c->add, gnome_add_xpm, opt); | |
817 else | |
818 c->add = change_text(c->window, _("Remove"), c->add, gnome_remove_xpm, opt); | |
819 gtk_box_reorder_child(GTK_BOX(parent), c->add, 2); | |
820 c->block = change_text(c->window, _("Block"), c->block, block_xpm, opt); | |
821 gtk_box_reorder_child(GTK_BOX(parent), c->block, 3); | |
822 c->warn = change_text(c->window, _("Warn"), c->warn, warn_xpm, opt); | |
823 gtk_box_reorder_child(GTK_BOX(parent), c->warn, 4); | |
824 c->info = change_text(c->window, _("Info"), c->info, tb_search_xpm, opt); | |
825 gtk_box_reorder_child(GTK_BOX(parent), c->info, 5); | |
826 c->send = change_text(c->window, _("Send"), c->send, tmp_send_xpm, opt); | |
827 gtk_box_set_child_packing(GTK_BOX(parent), c->sep2, dispstyle, dispstyle, 0, GTK_PACK_END); | |
828 gtk_box_reorder_child(GTK_BOX(parent), c->send, 7); | |
829 gtk_object_set_user_data(GTK_OBJECT(c->close), c); | |
830 gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback),c); | |
831 gtk_signal_connect(GTK_OBJECT(c->send), "clicked", GTK_SIGNAL_FUNC(send_callback),c); | |
832 gtk_signal_connect(GTK_OBJECT(c->add), "clicked", GTK_SIGNAL_FUNC(add_callback),c); | |
833 gtk_signal_connect(GTK_OBJECT(c->info), "clicked", GTK_SIGNAL_FUNC(info_callback),c); | |
834 gtk_signal_connect(GTK_OBJECT(c->warn), "clicked", GTK_SIGNAL_FUNC(warn_callback),c); | |
835 gtk_signal_connect(GTK_OBJECT(c->block), "clicked", GTK_SIGNAL_FUNC(block_callback),c); | |
836 bcs = bcs->next; | |
837 } | |
838 } |