pidgin/gtkconv.c

changeset 15620
e6f465c90cbe
parent 15619
853bbfe53122
child 15623
bf485c598199
equal deleted inserted replaced
15619:853bbfe53122 15620:e6f465c90cbe
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 */

mercurial