From 80afbbce02c5d31fc4375b84c8647628333b7cc2 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Fri, 18 Feb 2011 17:11:08 +0000 Subject: the last bug really --- src/active-sink.c | 52 +++++++++++++++++++++++----------------------- src/voip-input-menu-item.c | 7 +++++++ src/voip-input-menu-item.h | 1 + 3 files changed, 34 insertions(+), 26 deletions(-) diff --git a/src/active-sink.c b/src/active-sink.c index ce0e135..a78d33e 100644 --- a/src/active-sink.c +++ b/src/active-sink.c @@ -86,32 +86,6 @@ active_sink_init (ActiveSink *self) slider_menu_item_enable (priv->volume_slider_menuitem, FALSE); } -void -active_sink_activate_voip_item (ActiveSink* self, gint sink_input_index, gint client_index) -{ - ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); - if (voip_input_menu_item_is_interested (priv->voip_input_menu_item, - sink_input_index, - client_index)){ - voip_input_menu_item_enable (priv->voip_input_menu_item, TRUE); - } -} - -void -active_sink_deactivate_voip_source (ActiveSink* self, gboolean visible) -{ - ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); - voip_input_menu_item_deactivate_source (priv->voip_input_menu_item, visible); -} - -void -active_sink_deactivate_voip_client (ActiveSink* self) -{ - ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); - voip_input_menu_item_deactivate_voip_client (priv->voip_input_menu_item); -} - - static void active_sink_dispose (GObject *object) { @@ -148,6 +122,32 @@ active_sink_populate (ActiveSink* sink, g_debug ("Active sink has been populated - volume %f", volume_percent); } +void +active_sink_activate_voip_item (ActiveSink* self, gint sink_input_index, gint client_index) +{ + ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); + if (voip_input_menu_item_is_interested (priv->voip_input_menu_item, + sink_input_index, + client_index)){ + voip_input_menu_item_enable (priv->voip_input_menu_item, TRUE); + } +} + +void +active_sink_deactivate_voip_source (ActiveSink* self, gboolean visible) +{ + ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); + visible &= voip_input_menu_item_is_active (priv->voip_input_menu_item); + voip_input_menu_item_deactivate_source (priv->voip_input_menu_item, visible); +} + +void +active_sink_deactivate_voip_client (ActiveSink* self) +{ + ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); + voip_input_menu_item_deactivate_voip_client (priv->voip_input_menu_item); +} + void active_sink_update (ActiveSink* sink, const pa_sink_info* update) diff --git a/src/voip-input-menu-item.c b/src/voip-input-menu-item.c index b98be8d..a742654 100644 --- a/src/voip-input-menu-item.c +++ b/src/voip-input-menu-item.c @@ -199,6 +199,13 @@ voip_input_menu_item_is_interested (VoipInputMenuItem* item, return TRUE; } +gboolean +voip_input_menu_item_is_active (VoipInputMenuItem* item) +{ + VoipInputMenuItemPrivate* priv = VOIP_INPUT_MENU_ITEM_GET_PRIVATE (item); + return (priv->sink_input_index != NOT_ACTIVE && priv->client_index != NOT_ACTIVE); +} + gboolean voip_input_menu_item_is_populated (VoipInputMenuItem* item) diff --git a/src/voip-input-menu-item.h b/src/voip-input-menu-item.h index 5a39d8a..6f4ed85 100644 --- a/src/voip-input-menu-item.h +++ b/src/voip-input-menu-item.h @@ -52,6 +52,7 @@ void voip_input_menu_item_enable (VoipInputMenuItem* item, gboolean active); gboolean voip_input_menu_item_is_interested (VoipInputMenuItem* item, gint sink_input_index, gint client_index); +gboolean voip_input_menu_item_is_active (VoipInputMenuItem* item); gboolean voip_input_menu_item_is_populated (VoipInputMenuItem* item); // TODO rename get source index gint voip_input_menu_item_get_index (VoipInputMenuItem* item); -- cgit v1.2.3