| 1199 |
1199 |
| 1200 gtk_widget_show_all(gtkwin->dialogs.search); |
1200 gtk_widget_show_all(gtkwin->dialogs.search); |
| 1201 gtk_widget_grab_focus(s->entry); |
1201 gtk_widget_grab_focus(s->entry); |
| 1202 } |
1202 } |
| 1203 |
1203 |
| |
1204 #ifdef USE_VV |
| |
1205 static void |
| |
1206 menu_initiate_media_call_cb(gpointer data, guint action, GtkWidget *widget) |
| |
1207 { |
| |
1208 PidginWindow *win = (PidginWindow *)data; |
| |
1209 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); |
| |
1210 PurpleAccount *account = purple_conversation_get_account(conv); |
| |
1211 |
| |
1212 purple_prpl_initiate_media(account, |
| |
1213 purple_conversation_get_name(conv), |
| |
1214 action == 0 ? PURPLE_MEDIA_AUDIO : |
| |
1215 action == 1 ? PURPLE_MEDIA_VIDEO : |
| |
1216 action == 2 ? PURPLE_MEDIA_AUDIO | |
| |
1217 PURPLE_MEDIA_VIDEO : PURPLE_MEDIA_NONE); |
| |
1218 } |
| |
1219 #endif |
| |
1220 |
| 1204 static void |
1221 static void |
| 1205 menu_send_file_cb(gpointer data, guint action, GtkWidget *widget) |
1222 menu_send_file_cb(gpointer data, guint action, GtkWidget *widget) |
| 1206 { |
1223 { |
| 1207 PidginWindow *win = data; |
1224 PidginWindow *win = data; |
| 1208 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); |
1225 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); |
| 3112 "<StockItem>", GTK_STOCK_SAVE_AS }, |
3129 "<StockItem>", GTK_STOCK_SAVE_AS }, |
| 3113 { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR }, |
3130 { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR }, |
| 3114 |
3131 |
| 3115 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL }, |
3132 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL }, |
| 3116 |
3133 |
| |
3134 #ifdef USE_VV |
| |
3135 { N_("/Conversation/M_edia"), NULL, NULL, 0, "<Branch>", NULL }, |
| |
3136 |
| |
3137 { N_("/Conversation/Media/_Audio Call"), NULL, menu_initiate_media_call_cb, 0, |
| |
3138 "<StockItem>", PIDGIN_STOCK_TOOLBAR_AUDIO_CALL }, |
| |
3139 { N_("/Conversation/Media/_Video Call"), NULL, menu_initiate_media_call_cb, 1, |
| |
3140 "<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL }, |
| |
3141 { N_("/Conversation/Media/Audio\\/Video _Call"), NULL, menu_initiate_media_call_cb, 2, |
| |
3142 "<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL }, |
| |
3143 #endif |
| |
3144 |
| 3117 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE }, |
3145 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE }, |
| 3118 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, |
3146 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, |
| 3119 0, "<Item>", NULL }, |
3147 0, "<Item>", NULL }, |
| 3120 { N_("/Conversation/_Get Info"), "<CTL>O", menu_get_info_cb, 0, |
3148 { N_("/Conversation/_Get Info"), "<CTL>O", menu_get_info_cb, 0, |
| 3121 "<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO }, |
3149 "<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO }, |
| 3422 |
3450 |
| 3423 win->menu.view_log = |
3451 win->menu.view_log = |
| 3424 gtk_item_factory_get_widget(win->menu.item_factory, |
3452 gtk_item_factory_get_widget(win->menu.item_factory, |
| 3425 N_("/Conversation/View Log")); |
3453 N_("/Conversation/View Log")); |
| 3426 |
3454 |
| |
3455 #ifdef USE_VV |
| |
3456 win->audio_call = |
| |
3457 gtk_item_factory_get_widget(win->menu.item_factory, |
| |
3458 N_("/Conversation/Media/Audio Call")); |
| |
3459 win->video_call = |
| |
3460 gtk_item_factory_get_widget(win->menu.item_factory, |
| |
3461 N_("/Conversation/Media/Video Call")); |
| |
3462 win->audio_video_call = |
| |
3463 gtk_item_factory_get_widget(win->menu.item_factory, |
| |
3464 N_("/Conversation/Media/Audio\\/Video Call")); |
| |
3465 #endif |
| |
3466 |
| 3427 /* --- */ |
3467 /* --- */ |
| 3428 |
3468 |
| 3429 win->menu.send_file = |
3469 win->menu.send_file = |
| 3430 gtk_item_factory_get_widget(win->menu.item_factory, |
3470 gtk_item_factory_get_widget(win->menu.item_factory, |
| 3431 N_("/Conversation/Send File...")); |
3471 N_("/Conversation/Send File...")); |
| 6405 if (conv->features & PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY) |
6445 if (conv->features & PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY) |
| 6406 buttons |= GTK_IMHTML_CUSTOM_SMILEY; |
6446 buttons |= GTK_IMHTML_CUSTOM_SMILEY; |
| 6407 else |
6447 else |
| 6408 buttons &= ~GTK_IMHTML_CUSTOM_SMILEY; |
6448 buttons &= ~GTK_IMHTML_CUSTOM_SMILEY; |
| 6409 |
6449 |
| |
6450 #ifdef USE_VV |
| |
6451 /* check if account support voice calls, and if the current buddy |
| |
6452 supports it */ |
| |
6453 if (account != NULL && purple_conversation_get_type(conv) |
| |
6454 == PURPLE_CONV_TYPE_IM) { |
| |
6455 PurpleMediaCaps caps = |
| |
6456 purple_prpl_get_media_caps(account, |
| |
6457 purple_conversation_get_name(conv)); |
| |
6458 |
| |
6459 gtk_widget_set_sensitive(win->audio_call, |
| |
6460 caps & PURPLE_MEDIA_CAPS_AUDIO |
| |
6461 ? TRUE : FALSE); |
| |
6462 gtk_widget_set_sensitive(win->video_call, |
| |
6463 caps & PURPLE_MEDIA_CAPS_VIDEO |
| |
6464 ? TRUE : FALSE); |
| |
6465 gtk_widget_set_sensitive(win->audio_video_call, |
| |
6466 caps & PURPLE_MEDIA_CAPS_AUDIO_VIDEO |
| |
6467 ? TRUE : FALSE); |
| |
6468 } else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) { |
| |
6469 /* for now, don't care about chats... */ |
| |
6470 gtk_widget_set_sensitive(win->audio_call, FALSE); |
| |
6471 gtk_widget_set_sensitive(win->video_call, FALSE); |
| |
6472 gtk_widget_set_sensitive(win->audio_video_call, FALSE); |
| |
6473 } else { |
| |
6474 gtk_widget_set_sensitive(win->audio_call, FALSE); |
| |
6475 gtk_widget_set_sensitive(win->video_call, FALSE); |
| |
6476 gtk_widget_set_sensitive(win->audio_video_call, FALSE); |
| |
6477 } |
| |
6478 #endif |
| |
6479 |
| 6410 gtk_imhtml_set_format_functions(GTK_IMHTML(gtkconv->entry), buttons); |
6480 gtk_imhtml_set_format_functions(GTK_IMHTML(gtkconv->entry), buttons); |
| 6411 if (account != NULL) |
6481 if (account != NULL) |
| 6412 gtk_imhtmltoolbar_associate_smileys(GTK_IMHTMLTOOLBAR(gtkconv->toolbar), purple_account_get_protocol_id(account)); |
6482 gtk_imhtmltoolbar_associate_smileys(GTK_IMHTMLTOOLBAR(gtkconv->toolbar), purple_account_get_protocol_id(account)); |
| 6413 |
6483 |
| 6414 /* Deal with menu items */ |
6484 /* Deal with menu items */ |