summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst-mixer-applet/applet.c12
-rw-r--r--gst-mixer/src/preferences.c4
-rw-r--r--gst-mixer/src/window.c9
-rw-r--r--mate-volume-control/src/gvc-mixer-dialog.c19
-rw-r--r--sound-theme/gvc-sound-theme-chooser.c18
-rw-r--r--sound-theme/gvc-sound-theme-editor.c19
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 */
}