diff options
-rw-r--r-- | gst-mixer-applet/applet.c | 12 | ||||
-rw-r--r-- | gst-mixer/src/preferences.c | 4 | ||||
-rw-r--r-- | gst-mixer/src/window.c | 9 | ||||
-rw-r--r-- | mate-volume-control/src/gvc-mixer-dialog.c | 19 | ||||
-rw-r--r-- | sound-theme/gvc-sound-theme-chooser.c | 18 | ||||
-rw-r--r-- | sound-theme/gvc-sound-theme-editor.c | 19 |
6 files changed, 48 insertions, 33 deletions
diff --git a/gst-mixer-applet/applet.c b/gst-mixer-applet/applet.c index 377ed8e..1dddef7 100644 --- a/gst-mixer-applet/applet.c +++ b/gst-mixer-applet/applet.c @@ -422,6 +422,12 @@ mate_volume_applet_setup (MateVolumeApplet *applet, GstMixerTrack *first_track; gboolean res; + /* gsettings */ + g_signal_connect (applet->settings, "changed::" MATE_VOLUME_APPLET_KEY_ACTIVE_ELEMENT, + G_CALLBACK (cb_gsettings), applet); + g_signal_connect (applet->settings, "changed::" MATE_VOLUME_APPLET_KEY_ACTIVE_TRACK, + G_CALLBACK (cb_gsettings), applet); + active_element_name = g_settings_get_string (applet->settings, MATE_VOLUME_APPLET_KEY_ACTIVE_ELEMENT); @@ -474,12 +480,6 @@ mate_volume_applet_setup (MateVolumeApplet *applet, mate_volume_applet_refresh (applet, TRUE, -1, -1); if (res) { mate_volume_applet_setup_timeout (applet); - - /* gsettings */ - g_signal_connect (applet->settings, "changed::" MATE_VOLUME_APPLET_KEY_ACTIVE_ELEMENT, - G_CALLBACK (cb_gsettings), applet); - g_signal_connect (applet->settings, "changed::" MATE_VOLUME_APPLET_KEY_ACTIVE_TRACK, - G_CALLBACK (cb_gsettings), applet); } gtk_widget_show (GTK_WIDGET (applet)); diff --git a/gst-mixer/src/preferences.c b/gst-mixer/src/preferences.c index 76fbcf9..99556cf 100644 --- a/gst-mixer/src/preferences.c +++ b/gst-mixer/src/preferences.c @@ -191,12 +191,12 @@ mate_volume_control_preferences_new (GstElement *element) prefs = g_object_new (MATE_VOLUME_CONTROL_TYPE_PREFERENCES, NULL); prefs->settings = g_settings_new (MATE_VOLUME_CONTROL_SCHEMA); - mate_volume_control_preferences_change (prefs, element); - /* gsettings */ g_signal_connect (prefs->settings, "changed::" MATE_VOLUME_CONTROL_KEY_SHOWN_ELEMENTS, G_CALLBACK (cb_gsettings), prefs); + mate_volume_control_preferences_change (prefs, element); + return GTK_WIDGET (prefs); } diff --git a/gst-mixer/src/window.c b/gst-mixer/src/window.c index 58188c6..b179afa 100644 --- a/gst-mixer/src/window.c +++ b/gst-mixer/src/window.c @@ -265,6 +265,10 @@ mate_volume_control_window_init (MateVolumeControlWindow *win) g_set_application_name (_("Volume Control")); gtk_window_set_title (GTK_WINDOW (win), _("Volume Control")); + /* gsettings */ + g_signal_connect (win->settings, "changed::" MATE_VOLUME_CONTROL_KEY_ACTIVE_ELEMENT, + G_CALLBACK (cb_gsettings_active_element), win); + /* To set the window according to previous geometry */ width = g_settings_get_int (win->settings, MATE_VOLUME_CONTROL_KEY_WINDOW_WIDTH); if (width < 250) @@ -358,11 +362,6 @@ mate_volume_control_window_new (GList *elements) gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), active_element_num); g_signal_connect (combo_box, "changed", G_CALLBACK (cb_change), win); - - /* gsettings */ - g_signal_connect (win->settings, "changed::" MATE_VOLUME_CONTROL_KEY_ACTIVE_ELEMENT, - G_CALLBACK (cb_gsettings_active_element), win); - win->use_default_mixer = (active_el_str == NULL); /* add the combo box to choose the device */ diff --git a/mate-volume-control/src/gvc-mixer-dialog.c b/mate-volume-control/src/gvc-mixer-dialog.c index 8db0ebf..0e155e3 100644 --- a/mate-volume-control/src/gvc-mixer-dialog.c +++ b/mate-volume-control/src/gvc-mixer-dialog.c @@ -1552,6 +1552,9 @@ on_card_selection_changed (GtkTreeSelection *selection, GtkTreeModel *model; GtkTreeIter iter; const GList *profiles; + GSList *sinks; + gint card_index; + gboolean has_sink = FALSE; guint id; GvcMixerCard *card; GvcMixerCardProfile *current_profile; @@ -1590,9 +1593,23 @@ on_card_selection_changed (GtkTreeSelection *selection, gtk_box_pack_start (GTK_BOX (dialog->priv->hw_settings_box), dialog->priv->hw_profile_combo, TRUE, TRUE, 6); + + sinks = gvc_mixer_control_get_sinks (dialog->priv->mixer_control); + card_index = gvc_mixer_card_get_index (card); + while (sinks != NULL) { + GvcMixerStream *s = sinks->data; + + if (gvc_mixer_stream_get_card_index (s) == card_index) { + has_sink = TRUE; + break; + } + sinks = sinks->next; + } + g_object_set (G_OBJECT (dialog->priv->hw_profile_combo), - "show-button", current_profile->n_sinks == 1, + "show-button", has_sink, NULL); + gtk_widget_show (dialog->priv->hw_profile_combo); g_object_set_data (G_OBJECT (dialog->priv->hw_profile_combo), "card", card); diff --git a/sound-theme/gvc-sound-theme-chooser.c b/sound-theme/gvc-sound-theme-chooser.c index 75beed6..77ae932 100644 --- a/sound-theme/gvc-sound-theme-chooser.c +++ b/sound-theme/gvc-sound-theme-chooser.c @@ -1083,6 +1083,15 @@ gvc_sound_theme_chooser_init (GvcSoundThemeChooser *chooser) chooser->priv->sound_settings = g_settings_new (KEY_SOUNDS_SCHEMA); chooser->priv->marco_settings = g_settings_new (KEY_MARCO_SCHEMA); + g_signal_connect (chooser->priv->sound_settings, + "changed", + G_CALLBACK (on_key_changed), + chooser); + g_signal_connect (chooser->priv->marco_settings, + "changed::" AUDIO_BELL_KEY, + G_CALLBACK (on_key_changed), + chooser); + str = g_strdup_printf ("<b>%s</b>", _("C_hoose an alert sound:")); chooser->priv->selection_box = box = gtk_frame_new (str); g_free (str); @@ -1125,15 +1134,6 @@ gvc_sound_theme_chooser_init (GvcSoundThemeChooser *chooser) G_CALLBACK (on_click_feedback_toggled), chooser); - g_signal_connect (chooser->priv->sound_settings, - "changed", - G_CALLBACK (on_key_changed), - chooser); - g_signal_connect (chooser->priv->marco_settings, - "changed::" AUDIO_BELL_KEY, - G_CALLBACK (on_key_changed), - chooser); - /* FIXME: should accept drag and drop themes. should also add an "Add Theme..." item to the theme combobox */ } diff --git a/sound-theme/gvc-sound-theme-editor.c b/sound-theme/gvc-sound-theme-editor.c index 3c8cebf..08e0b37 100644 --- a/sound-theme/gvc-sound-theme-editor.c +++ b/sound-theme/gvc-sound-theme-editor.c @@ -1282,10 +1282,18 @@ gvc_sound_theme_editor_init (GvcSoundThemeEditor *editor) editor->priv->combo_box = gtk_combo_box_new (); gtk_box_pack_start (GTK_BOX (editor->priv->theme_box), editor->priv->combo_box, FALSE, FALSE, 0); - editor->priv->sound_settings = g_settings_new (KEY_SOUNDS_SCHEMA); editor->priv->marco_settings = g_settings_new (KEY_MARCO_SCHEMA); + g_signal_connect (editor->priv->sound_settings, + "changed", + G_CALLBACK (on_key_changed), + editor); + g_signal_connect (editor->priv->marco_settings, + "changed::" AUDIO_BELL_KEY, + G_CALLBACK (on_key_changed), + editor); + editor->priv->selection_box = box = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (editor), box, TRUE, TRUE, 0); @@ -1317,15 +1325,6 @@ gvc_sound_theme_editor_init (GvcSoundThemeEditor *editor) G_CALLBACK (on_click_feedback_toggled), editor); - g_signal_connect (editor->priv->sound_settings, - "changed", - G_CALLBACK (on_key_changed), - editor); - g_signal_connect (editor->priv->marco_settings, - "changed::" AUDIO_BELL_KEY, - G_CALLBACK (on_key_changed), - editor); - /* FIXME: should accept drag and drop themes. should also add an "Add Theme..." item to the theme combobox */ } |