# HG changeset patch # User maiku@pidgin.im # Date 1255989828 0 # Node ID ee55fb88f5127008e96dabff0d44e8fdf1d0f7c3 # Parent 2c4a3703324b8f2a5a0eda47e24ac18eacea65aa Add a hold button to the media window. diff -r 2c4a3703324b -r ee55fb88f512 pidgin/gtkmedia.c --- a/pidgin/gtkmedia.c Mon Oct 19 22:03:19 2009 +0000 +++ b/pidgin/gtkmedia.c Mon Oct 19 22:03:48 2009 +0000 @@ -89,6 +89,7 @@ GtkWidget *menubar; GtkWidget *statusbar; + GtkWidget *hold; GtkWidget *mute; GtkWidget *pause; @@ -187,6 +188,15 @@ } static void +pidgin_media_hold_toggled(GtkToggleButton *toggle, PidginMedia *media) +{ + purple_media_stream_info(media->priv->media, + gtk_toggle_button_get_active(toggle) ? + PURPLE_MEDIA_INFO_HOLD : PURPLE_MEDIA_INFO_UNHOLD, + NULL, NULL, TRUE); +} + +static void pidgin_media_mute_toggled(GtkToggleButton *toggle, PidginMedia *media) { purple_media_stream_info(media->priv->media, @@ -633,6 +643,16 @@ FALSE, FALSE, 0); gtk_widget_show(GTK_WIDGET(button_widget)); gtk_widget_show(send_widget); + + /* Hold button */ + gtkmedia->priv->hold = + gtk_toggle_button_new_with_mnemonic("_Hold"); + g_signal_connect(gtkmedia->priv->hold, "toggled", + G_CALLBACK(pidgin_media_hold_toggled), + gtkmedia); + gtk_box_pack_end(GTK_BOX(button_widget), gtkmedia->priv->hold, + FALSE, FALSE, 0); + gtk_widget_show(gtkmedia->priv->hold); } else { send_widget = gtkmedia->priv->send_widget; button_widget = gtkmedia->priv->button_widget;