| 2075 } |
2088 } |
| 2076 |
2089 |
| 2077 /* Update the menubar */ |
2090 /* Update the menubar */ |
| 2078 if (gaim_conversation_get_type(conv) == GAIM_CONV_IM) { |
2091 if (gaim_conversation_get_type(conv) == GAIM_CONV_IM) { |
| 2079 gtk_widget_show(gtkwin->menu.view_log); |
2092 gtk_widget_show(gtkwin->menu.view_log); |
| 2080 |
|
| 2081 if (gc && prpl_info->options & OPT_PROTO_IM_IMAGE) { |
|
| 2082 gtk_widget_show(gtkwin->menu.insert_image); |
|
| 2083 gtk_widget_set_sensitive(gtkconv->toolbar.image, TRUE); |
|
| 2084 |
|
| 2085 } |
|
| 2086 else { |
|
| 2087 gtk_widget_hide(gtkwin->menu.insert_image); |
|
| 2088 gtk_widget_set_sensitive(gtkconv->toolbar.image, FALSE); |
|
| 2089 } |
|
| 2090 |
|
| 2091 gtk_widget_show(gtkwin->menu.add_pounce); |
2093 gtk_widget_show(gtkwin->menu.add_pounce); |
| 2092 gtk_widget_show(gtkwin->menu.get_info); |
2094 gtk_widget_show(gtkwin->menu.get_info); |
| |
2095 gtk_widget_hide(gtkwin->menu.invite); |
| |
2096 |
| |
2097 gtk_widget_show(gtkwin->menu.insert_image); |
| |
2098 if (gc && prpl_info->options & OPT_PROTO_IM_IMAGE) |
| |
2099 gtk_widget_set_sensitive(gtkwin->menu.insert_image, TRUE); |
| |
2100 else |
| |
2101 gtk_widget_set_sensitive(gtkwin->menu.insert_image, FALSE); |
| |
2102 |
| 2093 gtk_widget_show(gtkwin->menu.warn); |
2103 gtk_widget_show(gtkwin->menu.warn); |
| |
2104 if (gc && prpl_info->warn != NULL) |
| |
2105 gtk_widget_set_sensitive(gtkwin->menu.warn, TRUE); |
| |
2106 else |
| |
2107 gtk_widget_set_sensitive(gtkwin->menu.warn, FALSE); |
| |
2108 |
| 2094 gtk_widget_show(gtkwin->menu.block); |
2109 gtk_widget_show(gtkwin->menu.block); |
| 2095 |
2110 |
| 2096 if (gaim_find_buddy(gaim_conversation_get_account(conv), |
2111 if (gaim_find_buddy(gaim_conversation_get_account(conv), |
| 2097 gaim_conversation_get_name(conv)) == NULL) { |
2112 gaim_conversation_get_name(conv)) == NULL) { |
| 2098 |
|
| 2099 gtk_widget_show(gtkwin->menu.add); |
2113 gtk_widget_show(gtkwin->menu.add); |
| 2100 gtk_widget_hide(gtkwin->menu.remove); |
2114 gtk_widget_hide(gtkwin->menu.remove); |
| 2101 gtk_widget_set_sensitive(gtkwin->menu.alias, FALSE); |
2115 gtk_widget_set_sensitive(gtkwin->menu.alias, FALSE); |
| 2102 } |
2116 } else { |
| 2103 else { |
|
| 2104 gtk_widget_show(gtkwin->menu.remove); |
2117 gtk_widget_show(gtkwin->menu.remove); |
| 2105 gtk_widget_hide(gtkwin->menu.add); |
2118 gtk_widget_hide(gtkwin->menu.add); |
| 2106 gtk_widget_set_sensitive(gtkwin->menu.alias, TRUE); |
2119 gtk_widget_set_sensitive(gtkwin->menu.alias, TRUE); |
| 2107 } |
2120 } |
| 2108 |
|
| 2109 gtk_widget_set_sensitive(gtkwin->menu.add, TRUE); |
2121 gtk_widget_set_sensitive(gtkwin->menu.add, TRUE); |
| 2110 gtk_widget_set_sensitive(gtkwin->menu.remove, TRUE); |
2122 gtk_widget_set_sensitive(gtkwin->menu.remove, TRUE); |
| 2111 |
|
| 2112 gtk_widget_hide(gtkwin->menu.invite); |
|
| 2113 |
2123 |
| 2114 if (gtkwin->menu.send_as != NULL) |
2124 if (gtkwin->menu.send_as != NULL) |
| 2115 g_timeout_add(0, (GSourceFunc)update_send_as_selection, win); |
2125 g_timeout_add(0, (GSourceFunc)update_send_as_selection, win); |
| 2116 |
2126 |
| 2117 if (gtkconv->u.im->anim) { |
2127 if (gtkconv->u.im->anim) { |
| 2120 } else { |
2130 } else { |
| 2121 window_icon = get_tab_icon(conv); |
2131 window_icon = get_tab_icon(conv); |
| 2122 } |
2132 } |
| 2123 } |
2133 } |
| 2124 else if (gaim_conversation_get_type(conv) == GAIM_CONV_CHAT) { |
2134 else if (gaim_conversation_get_type(conv) == GAIM_CONV_CHAT) { |
| |
2135 gtk_widget_hide(gtkwin->menu.view_log); |
| |
2136 gtk_widget_hide(gtkwin->menu.add_pounce); |
| |
2137 gtk_widget_hide(gtkwin->menu.get_info); |
| 2125 gtk_widget_show(gtkwin->menu.invite); |
2138 gtk_widget_show(gtkwin->menu.invite); |
| 2126 |
2139 |
| 2127 gtk_widget_hide(gtkwin->menu.view_log); |
|
| 2128 gtk_widget_hide(gtkwin->menu.insert_image); |
2140 gtk_widget_hide(gtkwin->menu.insert_image); |
| 2129 gtk_widget_set_sensitive(gtkconv->toolbar.image, FALSE); |
2141 gtk_widget_set_sensitive(gtkconv->toolbar.image, FALSE); |
| 2130 |
2142 |
| 2131 gtk_widget_set_sensitive(gtkwin->menu.alias, FALSE); |
|
| 2132 |
|
| 2133 gtk_widget_hide(gtkwin->menu.add_pounce); |
|
| 2134 gtk_widget_hide(gtkwin->menu.get_info); |
|
| 2135 gtk_widget_hide(gtkwin->menu.warn); |
2143 gtk_widget_hide(gtkwin->menu.warn); |
| 2136 gtk_widget_hide(gtkwin->menu.block); |
2144 gtk_widget_hide(gtkwin->menu.block); |
| 2137 |
2145 |
| 2138 if (gaim_find_chat(gaim_conversation_get_gc(conv), |
2146 if (gaim_find_chat(gaim_conversation_get_gc(conv), |
| 2139 gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv))) == NULL) { |
2147 gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv))) == NULL) { |
| 2140 |
|
| 2141 gtk_widget_show(gtkwin->menu.add); |
2148 gtk_widget_show(gtkwin->menu.add); |
| 2142 gtk_widget_hide(gtkwin->menu.remove); |
2149 gtk_widget_hide(gtkwin->menu.remove); |
| 2143 } |
2150 gtk_widget_set_sensitive(gtkwin->menu.alias, FALSE); |
| 2144 else { |
2151 } else { |
| 2145 gtk_widget_show(gtkwin->menu.remove); |
2152 gtk_widget_show(gtkwin->menu.remove); |
| 2146 gtk_widget_hide(gtkwin->menu.add); |
2153 gtk_widget_hide(gtkwin->menu.add); |
| 2147 } |
2154 gtk_widget_set_sensitive(gtkwin->menu.alias, TRUE); |
| 2148 |
2155 } |
| 2149 gtk_widget_set_sensitive(gtkwin->menu.add, FALSE); |
2156 gtk_widget_set_sensitive(gtkwin->menu.add, TRUE); |
| 2150 gtk_widget_set_sensitive(gtkwin->menu.remove, FALSE); |
2157 gtk_widget_set_sensitive(gtkwin->menu.remove, TRUE); |
| 2151 |
2158 |
| 2152 if (gtkwin->menu.send_as != NULL) |
2159 if (gtkwin->menu.send_as != NULL) |
| 2153 g_timeout_add(0, (GSourceFunc)update_send_as_selection, win); |
2160 g_timeout_add(0, (GSourceFunc)update_send_as_selection, win); |
| 2154 window_icon = get_tab_icon(conv); |
2161 window_icon = get_tab_icon(conv); |
| 2155 } |
2162 } |
| 2877 static GtkItemFactoryEntry menu_items[] = |
2884 static GtkItemFactoryEntry menu_items[] = |
| 2878 { |
2885 { |
| 2879 /* Conversation menu */ |
2886 /* Conversation menu */ |
| 2880 { N_("/_Conversation"), NULL, NULL, 0, "<Branch>" }, |
2887 { N_("/_Conversation"), NULL, NULL, 0, "<Branch>" }, |
| 2881 |
2888 |
| 2882 { N_("/Conversation/_New Conversation..."), NULL, menu_new_conv_cb, |
2889 { N_("/Conversation/New _Instant Message..."), "<CTL>I", menu_new_conv_cb, |
| 2883 0, "<StockItem>", GTK_STOCK_NEW }, |
2890 0, "<StockItem>", GAIM_STOCK_IM }, |
| 2884 |
2891 |
| 2885 { "/Conversation/sep0", NULL, NULL, 0, "<Separator>" }, |
2892 { "/Conversation/sep0", NULL, NULL, 0, "<Separator>" }, |
| 2886 |
2893 |
| |
2894 { N_("/Conversation/Find..."), NULL, menu_find_cb, 0, "<StockItem>", GTK_STOCK_FIND }, |
| |
2895 { N_("/Conversation/View _Log"), NULL, menu_view_log_cb, 0, NULL }, |
| 2887 { N_("/Conversation/_Save As..."), NULL, menu_save_as_cb, 0, |
2896 { N_("/Conversation/_Save As..."), NULL, menu_save_as_cb, 0, |
| 2888 "<StockItem>", GTK_STOCK_SAVE_AS }, |
2897 "<StockItem>", GTK_STOCK_SAVE_AS }, |
| 2889 { N_("/Conversation/View _Log"), NULL, menu_view_log_cb, 0, NULL }, |
|
| 2890 { N_("/Conversation/Find..."), NULL, menu_find_cb, 0, "<StockItem>", GTK_STOCK_FIND }, |
|
| 2891 |
2898 |
| 2892 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>" }, |
2899 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>" }, |
| 2893 |
2900 |
| 2894 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, |
2901 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, |
| 2895 0, NULL }, |
2902 0, NULL }, |
| |
2903 { N_("/Conversation/_Get Info"), NULL, menu_get_info_cb, 0, |
| |
2904 "<StockItem>", GAIM_STOCK_INFO }, |
| |
2905 { N_("/Conversation/_Warn..."), NULL, menu_warn_cb, 0, |
| |
2906 "<StockItem>", GAIM_STOCK_WARN }, |
| |
2907 { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0, |
| |
2908 "<StockItem>", GAIM_STOCK_INVITE }, |
| |
2909 |
| |
2910 { "/Conversation/sep2", NULL, NULL, 0, "<Separator>" }, |
| |
2911 |
| 2896 { N_("/Conversation/A_lias..."), NULL, menu_alias_cb, 0, |
2912 { N_("/Conversation/A_lias..."), NULL, menu_alias_cb, 0, |
| 2897 "<StockItem>", GAIM_STOCK_EDIT }, |
2913 "<StockItem>", GAIM_STOCK_EDIT }, |
| 2898 { N_("/Conversation/_Get Info..."), NULL, menu_get_info_cb, 0, |
|
| 2899 "<StockItem>", GAIM_STOCK_INFO }, |
|
| 2900 { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0, |
|
| 2901 "<StockItem>", GAIM_STOCK_INVITE }, |
|
| 2902 |
|
| 2903 { "/Conversation/sep2", NULL, NULL, 0, "<Separator>" }, |
|
| 2904 |
|
| 2905 { N_("/Conversation/Insert Lin_k..."), NULL, menu_insert_link_cb, 0, |
|
| 2906 "<StockItem>", GAIM_STOCK_LINK }, |
|
| 2907 { N_("/Conversation/Insert _Image..."), NULL, menu_insert_image_cb, 0, |
|
| 2908 "<StockItem>", GAIM_STOCK_IMAGE }, |
|
| 2909 |
|
| 2910 { "/Conversation/sep3", NULL, NULL, 0, "<Separator>" }, |
|
| 2911 |
|
| 2912 { N_("/Conversation/_Warn..."), NULL, menu_warn_cb, 0, |
|
| 2913 "<StockItem>", GAIM_STOCK_WARN }, |
|
| 2914 { N_("/Conversation/_Block..."), NULL, menu_block_cb, 0, |
2914 { N_("/Conversation/_Block..."), NULL, menu_block_cb, 0, |
| 2915 "<StockItem>", GAIM_STOCK_BLOCK }, |
2915 "<StockItem>", GAIM_STOCK_BLOCK }, |
| 2916 { N_("/Conversation/_Add..."), NULL, menu_add_remove_cb, 0, |
2916 { N_("/Conversation/_Add..."), NULL, menu_add_remove_cb, 0, |
| 2917 "<StockItem>", GTK_STOCK_ADD }, |
2917 "<StockItem>", GTK_STOCK_ADD }, |
| 2918 { N_("/Conversation/_Remove..."), NULL, menu_add_remove_cb, 0, |
2918 { N_("/Conversation/_Remove..."), NULL, menu_add_remove_cb, 0, |
| 2919 "<StockItem>", GTK_STOCK_REMOVE }, |
2919 "<StockItem>", GTK_STOCK_REMOVE }, |
| 2920 |
2920 |
| |
2921 { "/Conversation/sep3", NULL, NULL, 0, "<Separator>" }, |
| |
2922 |
| |
2923 { N_("/Conversation/Insert Lin_k..."), NULL, menu_insert_link_cb, 0, |
| |
2924 "<StockItem>", GAIM_STOCK_LINK }, |
| |
2925 { N_("/Conversation/Insert Imag_e..."), NULL, menu_insert_image_cb, 0, |
| |
2926 "<StockItem>", GAIM_STOCK_IMAGE }, |
| |
2927 |
| 2921 { "/Conversation/sep4", NULL, NULL, 0, "<Separator>" }, |
2928 { "/Conversation/sep4", NULL, NULL, 0, "<Separator>" }, |
| 2922 |
2929 |
| 2923 { N_("/Conversation/_Close"), NULL, menu_close_conv_cb, 0, |
2930 { N_("/Conversation/_Close"), NULL, menu_close_conv_cb, 0, |
| 2924 "<StockItem>", GTK_STOCK_CLOSE }, |
2931 "<StockItem>", GTK_STOCK_CLOSE }, |
| 2925 |
2932 |