[gnome-control-center] sound: Show a mute switch instead of a checkbox
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] sound: Show a mute switch instead of a checkbox
- Date: Wed, 7 Sep 2011 17:21:50 +0000 (UTC)
commit a58bb45cba0322853878cabdef59e09f4575c5fb
Author: Bastien Nocera <hadess hadess net>
Date: Wed Sep 7 17:28:49 2011 +0100
sound: Show a mute switch instead of a checkbox
The switch use here matches exactly the usage guidelines.
panels/sound/gvc-channel-bar.c | 39 ++++++++++++++++++++-------------------
1 files changed, 20 insertions(+), 19 deletions(-)
---
diff --git a/panels/sound/gvc-channel-bar.c b/panels/sound/gvc-channel-bar.c
index 45fa700..dea3775 100644
--- a/panels/sound/gvc-channel-bar.c
+++ b/panels/sound/gvc-channel-bar.c
@@ -54,7 +54,7 @@ struct GvcChannelBarPrivate
GtkWidget *scale;
GtkWidget *high_image;
GtkWidget *mute_box;
- GtkWidget *mute_button;
+ GtkWidget *mute_switch;
GtkAdjustment *adjustment;
GtkAdjustment *zero_adjustment;
gboolean show_mute;
@@ -512,14 +512,14 @@ on_zero_adjustment_value_changed (GtkAdjustment *adjustment,
}
static void
-update_mute_button (GvcChannelBar *bar)
+update_mute_switch (GvcChannelBar *bar)
{
if (bar->priv->show_mute) {
- gtk_widget_show (bar->priv->mute_button);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bar->priv->mute_button),
- bar->priv->is_muted);
+ gtk_widget_show (bar->priv->mute_switch);
+ gtk_switch_set_active (GTK_SWITCH (bar->priv->mute_switch),
+ !bar->priv->is_muted);
} else {
- gtk_widget_hide (bar->priv->mute_button);
+ gtk_widget_hide (bar->priv->mute_switch);
if (bar->priv->is_muted) {
/* If we aren't showing the mute button then
@@ -554,7 +554,7 @@ gvc_channel_bar_set_is_muted (GvcChannelBar *bar,
/* Update our internal state before telling the
* front-end about our changes */
bar->priv->is_muted = is_muted;
- update_mute_button (bar);
+ update_mute_switch (bar);
g_object_notify (G_OBJECT (bar), "is-muted");
}
}
@@ -575,7 +575,7 @@ gvc_channel_bar_set_show_mute (GvcChannelBar *bar,
if (show_mute != bar->priv->show_mute) {
bar->priv->show_mute = show_mute;
g_object_notify (G_OBJECT (bar), "show-mute");
- update_mute_button (bar);
+ update_mute_switch (bar);
}
}
@@ -766,7 +766,7 @@ gvc_channel_bar_constructor (GType type,
self = GVC_CHANNEL_BAR (object);
- update_mute_button (self);
+ update_mute_switch (self);
return object;
}
@@ -857,12 +857,13 @@ gvc_channel_bar_class_init (GvcChannelBarClass *klass)
}
static void
-on_mute_button_toggled (GtkToggleButton *button,
- GvcChannelBar *bar)
+on_mute_switch_toggled (GtkSwitch *sw,
+ GParamSpec *pspec,
+ GvcChannelBar *bar)
{
gboolean is_muted;
- is_muted = gtk_toggle_button_get_active (button);
- gvc_channel_bar_set_is_muted (bar, is_muted);
+ is_muted = gtk_switch_get_active (sw);
+ gvc_channel_bar_set_is_muted (bar, !is_muted);
}
static void
@@ -898,14 +899,14 @@ gvc_channel_bar_init (GvcChannelBar *bar)
G_CALLBACK (on_zero_adjustment_value_changed),
bar);
- bar->priv->mute_button = gtk_check_button_new_with_label (_("Mute"));
- gtk_widget_set_no_show_all (bar->priv->mute_button, TRUE);
- g_signal_connect (bar->priv->mute_button,
- "toggled",
- G_CALLBACK (on_mute_button_toggled),
+ bar->priv->mute_switch = gtk_switch_new ();
+ gtk_widget_set_no_show_all (bar->priv->mute_switch, TRUE);
+ g_signal_connect (bar->priv->mute_switch,
+ "notify::active",
+ G_CALLBACK (on_mute_switch_toggled),
bar);
bar->priv->mute_box = gtk_alignment_new (0.5, 0.5, 0, 0);
- gtk_container_add (GTK_CONTAINER (bar->priv->mute_box), bar->priv->mute_button);
+ gtk_container_add (GTK_CONTAINER (bar->priv->mute_box), bar->priv->mute_switch);
bar->priv->low_image = gtk_image_new_from_icon_name ("audio-volume-low-symbolic",
GTK_ICON_SIZE_MENU);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]