comparison pidgin/gtkconv.c @ 26144:2091094745d9

Simplify the media menu callbacks.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Fri, 30 Jan 2009 01:23:35 +0000
parents 6eeb500ce9a2
children 685c8f5f85c7
comparison
equal deleted inserted replaced
26143:f6a98b2b8d92 26144:2091094745d9
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 1204 #ifdef USE_VV
1205 /* Forward declare this here, because I want to keep VV-related stuff together
1206 for now */
1207 static void 1205 static void
1208 menu_initiate_audio_call_cb(gpointer data, guint action, GtkWidget *widget); 1206 menu_initiate_media_call_cb(gpointer data, guint action, GtkWidget *widget)
1209 static void 1207 {
1210 menu_initiate_video_call_cb(gpointer data, guint action, GtkWidget *widget); 1208 PidginWindow *win = (PidginWindow *)data;
1211 static void 1209 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win);
1212 menu_initiate_audio_video_call_cb(gpointer data, guint action, GtkWidget *widget); 1210 PurpleAccount *account = purple_conversation_get_account(conv);
1213 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 }
1214 #endif 1219 #endif
1215 1220
1216 static void 1221 static void
1217 menu_send_file_cb(gpointer data, guint action, GtkWidget *widget) 1222 menu_send_file_cb(gpointer data, guint action, GtkWidget *widget)
1218 { 1223 {
3124 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL }, 3129 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL },
3125 3130
3126 #ifdef USE_VV 3131 #ifdef USE_VV
3127 { N_("/Conversation/M_edia"), NULL, NULL, 0, "<Branch>", NULL }, 3132 { N_("/Conversation/M_edia"), NULL, NULL, 0, "<Branch>", NULL },
3128 3133
3129 { N_("/Conversation/Media/_Audio Call"), NULL, menu_initiate_audio_call_cb, 0, 3134 { N_("/Conversation/Media/_Audio Call"), NULL, menu_initiate_media_call_cb, 0,
3130 "<StockItem>", PIDGIN_STOCK_TOOLBAR_AUDIO_CALL }, 3135 "<StockItem>", PIDGIN_STOCK_TOOLBAR_AUDIO_CALL },
3131 { N_("/Conversation/Media/_Video Call"), NULL, menu_initiate_video_call_cb, 0, 3136 { N_("/Conversation/Media/_Video Call"), NULL, menu_initiate_media_call_cb, 1,
3132 "<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL }, 3137 "<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL },
3133 { N_("/Conversation/Media/Audio\\/Video _Call"), NULL, menu_initiate_audio_video_call_cb, 0, 3138 { N_("/Conversation/Media/Audio\\/Video _Call"), NULL, menu_initiate_media_call_cb, 2,
3134 "<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL }, 3139 "<StockItem>", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL },
3135 #endif 3140 #endif
3136 3141
3137 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE }, 3142 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE },
3138 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, 3143 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb,
7759 7764
7760 static void 7765 static void
7761 pidgin_gtkmedia_error_cb(PidginMedia *media, const char *msg, PurpleConversation *conv) 7766 pidgin_gtkmedia_error_cb(PidginMedia *media, const char *msg, PurpleConversation *conv)
7762 { 7767 {
7763 purple_conv_im_write(PURPLE_CONV_IM(conv), NULL, msg, PURPLE_MESSAGE_ERROR, time(NULL)); 7768 purple_conv_im_write(PURPLE_CONV_IM(conv), NULL, msg, PURPLE_MESSAGE_ERROR, time(NULL));
7764 }
7765
7766 static void
7767 menu_initiate_audio_call_cb(gpointer data, guint action, GtkWidget *widget)
7768 {
7769 PidginWindow *win = (PidginWindow *)data;
7770 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win);
7771 PurpleAccount *account = purple_conversation_get_account(conv);
7772
7773 purple_prpl_initiate_media(account,
7774 purple_conversation_get_name(conv),
7775 PURPLE_MEDIA_AUDIO);
7776 }
7777
7778 static void
7779 menu_initiate_video_call_cb(gpointer data, guint action, GtkWidget *widget)
7780 {
7781 PidginWindow *win = (PidginWindow *)data;
7782 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win);
7783 PurpleAccount *account = purple_conversation_get_account(conv);
7784
7785 purple_prpl_initiate_media(account,
7786 purple_conversation_get_name(conv),
7787 PURPLE_MEDIA_VIDEO);
7788 }
7789
7790 static void
7791 menu_initiate_audio_video_call_cb(gpointer data, guint action, GtkWidget *widget)
7792 {
7793 PidginWindow *win = (PidginWindow *)data;
7794 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win);
7795 PurpleAccount *account = purple_conversation_get_account(conv);
7796
7797 purple_prpl_initiate_media(account,
7798 purple_conversation_get_name(conv),
7799 PURPLE_MEDIA_AUDIO | PURPLE_MEDIA_VIDEO);
7800 } 7769 }
7801 7770
7802 static void 7771 static void
7803 pidgin_conv_gtkmedia_destroyed(GtkWidget *widget, PidginConversation *gtkconv) 7772 pidgin_conv_gtkmedia_destroyed(GtkWidget *widget, PidginConversation *gtkconv)
7804 { 7773 {