# HG changeset patch # User Mike Ruprecht # Date 1233278615 0 # Node ID 2091094745d945f44bf8e0e1fcba5d31acba955f # Parent f6a98b2b8d9239e04aefc74894a5ef74518dbc63 Simplify the media menu callbacks. diff -r f6a98b2b8d92 -r 2091094745d9 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Tue Jan 27 22:18:01 2009 +0000 +++ b/pidgin/gtkconv.c Fri Jan 30 01:23:35 2009 +0000 @@ -1202,15 +1202,20 @@ } #ifdef USE_VV -/* Forward declare this here, because I want to keep VV-related stuff together -for now */ static void -menu_initiate_audio_call_cb(gpointer data, guint action, GtkWidget *widget); -static void -menu_initiate_video_call_cb(gpointer data, guint action, GtkWidget *widget); -static void -menu_initiate_audio_video_call_cb(gpointer data, guint action, GtkWidget *widget); - +menu_initiate_media_call_cb(gpointer data, guint action, GtkWidget *widget) +{ + PidginWindow *win = (PidginWindow *)data; + PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); + PurpleAccount *account = purple_conversation_get_account(conv); + + purple_prpl_initiate_media(account, + purple_conversation_get_name(conv), + action == 0 ? PURPLE_MEDIA_AUDIO : + action == 1 ? PURPLE_MEDIA_VIDEO : + action == 2 ? PURPLE_MEDIA_AUDIO | + PURPLE_MEDIA_VIDEO : PURPLE_MEDIA_NONE); +} #endif static void @@ -3126,11 +3131,11 @@ #ifdef USE_VV { N_("/Conversation/M_edia"), NULL, NULL, 0, "", NULL }, - { N_("/Conversation/Media/_Audio Call"), NULL, menu_initiate_audio_call_cb, 0, + { N_("/Conversation/Media/_Audio Call"), NULL, menu_initiate_media_call_cb, 0, "", PIDGIN_STOCK_TOOLBAR_AUDIO_CALL }, - { N_("/Conversation/Media/_Video Call"), NULL, menu_initiate_video_call_cb, 0, + { N_("/Conversation/Media/_Video Call"), NULL, menu_initiate_media_call_cb, 1, "", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL }, - { N_("/Conversation/Media/Audio\\/Video _Call"), NULL, menu_initiate_audio_video_call_cb, 0, + { N_("/Conversation/Media/Audio\\/Video _Call"), NULL, menu_initiate_media_call_cb, 2, "", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL }, #endif @@ -7764,42 +7769,6 @@ } static void -menu_initiate_audio_call_cb(gpointer data, guint action, GtkWidget *widget) -{ - PidginWindow *win = (PidginWindow *)data; - PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); - PurpleAccount *account = purple_conversation_get_account(conv); - - purple_prpl_initiate_media(account, - purple_conversation_get_name(conv), - PURPLE_MEDIA_AUDIO); -} - -static void -menu_initiate_video_call_cb(gpointer data, guint action, GtkWidget *widget) -{ - PidginWindow *win = (PidginWindow *)data; - PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); - PurpleAccount *account = purple_conversation_get_account(conv); - - purple_prpl_initiate_media(account, - purple_conversation_get_name(conv), - PURPLE_MEDIA_VIDEO); -} - -static void -menu_initiate_audio_video_call_cb(gpointer data, guint action, GtkWidget *widget) -{ - PidginWindow *win = (PidginWindow *)data; - PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); - PurpleAccount *account = purple_conversation_get_account(conv); - - purple_prpl_initiate_media(account, - purple_conversation_get_name(conv), - PURPLE_MEDIA_AUDIO | PURPLE_MEDIA_VIDEO); -} - -static void pidgin_conv_gtkmedia_destroyed(GtkWidget *widget, PidginConversation *gtkconv) { gtk_widget_destroyed(widget, &(gtkconv->gtkmedia));