| 1212 pidgin_pounce_editor_show(gaim_conversation_get_account(conv), |
1212 pidgin_pounce_editor_show(gaim_conversation_get_account(conv), |
| 1213 gaim_conversation_get_name(conv), NULL); |
1213 gaim_conversation_get_name(conv), NULL); |
| 1214 } |
1214 } |
| 1215 |
1215 |
| 1216 static void |
1216 static void |
| 1217 menu_insert_link_cb(gpointer data, guint action, GtkWidget *widget) |
|
| 1218 { |
|
| 1219 PidginWindow *win = data; |
|
| 1220 PidginConversation *gtkconv; |
|
| 1221 GtkIMHtmlToolbar *toolbar; |
|
| 1222 |
|
| 1223 gtkconv = pidgin_conv_window_get_active_gtkconv(win); |
|
| 1224 toolbar = GTK_IMHTMLTOOLBAR(gtkconv->toolbar); |
|
| 1225 |
|
| 1226 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->link), |
|
| 1227 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->link))); |
|
| 1228 } |
|
| 1229 |
|
| 1230 static void |
|
| 1231 menu_insert_image_cb(gpointer data, guint action, GtkWidget *widget) |
|
| 1232 { |
|
| 1233 PidginWindow *win = data; |
|
| 1234 GaimConversation *conv; |
|
| 1235 PidginConversation *gtkconv; |
|
| 1236 GtkIMHtmlToolbar *toolbar; |
|
| 1237 |
|
| 1238 gtkconv = pidgin_conv_window_get_active_gtkconv(win); |
|
| 1239 conv = gtkconv->active_conv; |
|
| 1240 toolbar = GTK_IMHTMLTOOLBAR(gtkconv->toolbar); |
|
| 1241 |
|
| 1242 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), |
|
| 1243 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->image))); |
|
| 1244 } |
|
| 1245 |
|
| 1246 static void |
|
| 1247 menu_alias_cb(gpointer data, guint action, GtkWidget *widget) |
1217 menu_alias_cb(gpointer data, guint action, GtkWidget *widget) |
| 1248 { |
1218 { |
| 1249 PidginWindow *win = data; |
1219 PidginWindow *win = data; |
| 1250 GaimConversation *conv; |
1220 GaimConversation *conv; |
| 1251 GaimAccount *account; |
1221 GaimAccount *account; |
| 2973 N_("/Conversation/Add...")); |
2943 N_("/Conversation/Add...")); |
| 2974 |
2944 |
| 2975 win->menu.remove = |
2945 win->menu.remove = |
| 2976 gtk_item_factory_get_widget(win->menu.item_factory, |
2946 gtk_item_factory_get_widget(win->menu.item_factory, |
| 2977 N_("/Conversation/Remove...")); |
2947 N_("/Conversation/Remove...")); |
| 2978 |
|
| 2979 /* --- */ |
|
| 2980 |
|
| 2981 win->menu.insert_link = |
|
| 2982 gtk_item_factory_get_widget(win->menu.item_factory, |
|
| 2983 N_("/Conversation/Insert Link...")); |
|
| 2984 |
|
| 2985 win->menu.insert_image = |
|
| 2986 gtk_item_factory_get_widget(win->menu.item_factory, |
|
| 2987 N_("/Conversation/Insert Image...")); |
|
| 2988 |
|
| 2989 /* --- */ |
|
| 2990 |
2948 |
| 2991 win->menu.logging = |
2949 win->menu.logging = |
| 2992 gtk_item_factory_get_widget(win->menu.item_factory, |
2950 gtk_item_factory_get_widget(win->menu.item_factory, |
| 2993 N_("/Options/Enable Logging")); |
2951 N_("/Options/Enable Logging")); |
| 2994 win->menu.sounds = |
2952 win->menu.sounds = |
| 5677 } else { |
5635 } else { |
| 5678 gtk_widget_show(win->menu.remove); |
5636 gtk_widget_show(win->menu.remove); |
| 5679 gtk_widget_hide(win->menu.add); |
5637 gtk_widget_hide(win->menu.add); |
| 5680 } |
5638 } |
| 5681 |
5639 |
| 5682 gtk_widget_show(win->menu.insert_link); |
|
| 5683 gtk_widget_show(win->menu.insert_image); |
|
| 5684 gtk_widget_show(win->menu.show_icon); |
5640 gtk_widget_show(win->menu.show_icon); |
| 5685 } else if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_CHAT) { |
5641 } else if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_CHAT) { |
| 5686 /* Show stuff that applies to Chats, hide stuff that applies to IMs */ |
5642 /* Show stuff that applies to Chats, hide stuff that applies to IMs */ |
| 5687 |
5643 |
| 5688 /* Deal with menu items */ |
5644 /* Deal with menu items */ |
| 5704 /* If the chat IS in the buddy list */ |
5660 /* If the chat IS in the buddy list */ |
| 5705 gtk_widget_hide(win->menu.add); |
5661 gtk_widget_hide(win->menu.add); |
| 5706 gtk_widget_show(win->menu.remove); |
5662 gtk_widget_show(win->menu.remove); |
| 5707 } |
5663 } |
| 5708 |
5664 |
| 5709 gtk_widget_show(win->menu.insert_link); |
|
| 5710 gtk_widget_hide(win->menu.insert_image); |
|
| 5711 } |
5665 } |
| 5712 |
5666 |
| 5713 /* |
5667 /* |
| 5714 * Handle graying stuff out based on whether an account is connected |
5668 * Handle graying stuff out based on whether an account is connected |
| 5715 * and what features that account supports. |
5669 * and what features that account supports. |
| 5747 /* Deal with menu items */ |
5701 /* Deal with menu items */ |
| 5748 gtk_widget_set_sensitive(win->menu.view_log, TRUE); |
5702 gtk_widget_set_sensitive(win->menu.view_log, TRUE); |
| 5749 gtk_widget_set_sensitive(win->menu.add_pounce, TRUE); |
5703 gtk_widget_set_sensitive(win->menu.add_pounce, TRUE); |
| 5750 gtk_widget_set_sensitive(win->menu.get_info, (prpl_info->get_info != NULL)); |
5704 gtk_widget_set_sensitive(win->menu.get_info, (prpl_info->get_info != NULL)); |
| 5751 gtk_widget_set_sensitive(win->menu.invite, (prpl_info->chat_invite != NULL)); |
5705 gtk_widget_set_sensitive(win->menu.invite, (prpl_info->chat_invite != NULL)); |
| 5752 gtk_widget_set_sensitive(win->menu.insert_link, (conv->features & GAIM_CONNECTION_HTML)); |
|
| 5753 gtk_widget_set_sensitive(win->menu.insert_image, (prpl_info->options & OPT_PROTO_IM_IMAGE) && !(conv->features & GAIM_CONNECTION_NO_IMAGES)); |
|
| 5754 |
5706 |
| 5755 if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) |
5707 if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) |
| 5756 { |
5708 { |
| 5757 gtk_widget_set_sensitive(win->menu.add, (prpl_info->add_buddy != NULL)); |
5709 gtk_widget_set_sensitive(win->menu.add, (prpl_info->add_buddy != NULL)); |
| 5758 gtk_widget_set_sensitive(win->menu.remove, (prpl_info->remove_buddy != NULL)); |
5710 gtk_widget_set_sensitive(win->menu.remove, (prpl_info->remove_buddy != NULL)); |
| 5783 gtk_widget_set_sensitive(win->menu.get_info, FALSE); |
5735 gtk_widget_set_sensitive(win->menu.get_info, FALSE); |
| 5784 gtk_widget_set_sensitive(win->menu.invite, FALSE); |
5736 gtk_widget_set_sensitive(win->menu.invite, FALSE); |
| 5785 gtk_widget_set_sensitive(win->menu.alias, FALSE); |
5737 gtk_widget_set_sensitive(win->menu.alias, FALSE); |
| 5786 gtk_widget_set_sensitive(win->menu.add, FALSE); |
5738 gtk_widget_set_sensitive(win->menu.add, FALSE); |
| 5787 gtk_widget_set_sensitive(win->menu.remove, FALSE); |
5739 gtk_widget_set_sensitive(win->menu.remove, FALSE); |
| 5788 gtk_widget_set_sensitive(win->menu.insert_link, TRUE); |
|
| 5789 gtk_widget_set_sensitive(win->menu.insert_image, FALSE); |
|
| 5790 } |
5740 } |
| 5791 |
5741 |
| 5792 /* |
5742 /* |
| 5793 * Update the window's icon |
5743 * Update the window's icon |
| 5794 */ |
5744 */ |