diff options
-rw-r--r-- | debian/changelog | 21 | ||||
-rw-r--r-- | src/accounts-service-user.vala | 4 | ||||
-rw-r--r-- | src/service.vala | 9 |
3 files changed, 31 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog index 93626ad..2a2b734 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +indicator-sound (12.10.2+15.04.20150120-0ubuntu1) vivid; urgency=low + + [ Ted Gould ] + * Set internal silent mode variable at startup (LP: #1391164) + + [ CI bot ] + * Set internal silent mode variable at startup (LP: #1391164) + + [ Nick Dedekind ] + * Update the panel icon when entering/exiting silent mode. (LP: + #1390067) + + [ Dmitry Shachnev ] + * Fix indicator-sound-service crash when active_port is null. (LP: + #1395455) + + [ Lars Uebernickel ] + * Set internal silent mode variable at startup (LP: #1391164) + + -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 20 Jan 2015 22:03:19 +0000 + indicator-sound (12.10.2+15.04.20141105-0ubuntu1) vivid; urgency=medium [ Ted Gould ] diff --git a/src/accounts-service-user.vala b/src/accounts-service-user.vala index ec52730..e8db7c4 100644 --- a/src/accounts-service-user.vala +++ b/src/accounts-service-user.vala @@ -35,6 +35,7 @@ public class AccountsServiceUser : Object { return _silentMode; } set { + _silentMode = value; if (syssoundproxy != null) syssoundproxy.silent_mode = value; } @@ -211,7 +212,8 @@ public class AccountsServiceUser : Object { } }); - this.silentMode = this.syssoundproxy.silent_mode; + this._silentMode = this.syssoundproxy.silent_mode; + this.notify_property("silentMode"); } catch (Error e) { this.syssoundproxy = null; warning("Unable to get proxy to system sound settings: %s", e.message); diff --git a/src/service.vala b/src/service.vala index fd0c08d..3bb8b39 100644 --- a/src/service.vala +++ b/src/service.vala @@ -242,6 +242,8 @@ public class IndicatorSound.Service: Object { string icon; if (this.volume_control.mute) icon = this.mute_blocks_sound ? "audio-volume-muted-blocking-panel" : "audio-volume-muted-panel"; + else if (this.accounts_service != null && this.accounts_service.silentMode) + icon = "audio-volume-muted-panel"; else if (volume <= 0.0) icon = "audio-volume-low-zero-panel"; else if (volume <= 0.3) @@ -254,6 +256,9 @@ public class IndicatorSound.Service: Object { string accessible_name; if (this.volume_control.mute) { accessible_name = _("Volume (muted)"); + } else if (this.accounts_service != null && this.accounts_service.silentMode) { + int volume_int = (int)(volume * 100); + accessible_name = "%s (%s %d%%)".printf (_("Volume"), _("silent"), volume_int); } else { int volume_int = (int)(volume * 100); accessible_name = "%s (%d%%)".printf (_("Volume"), volume_int); @@ -443,13 +448,13 @@ public class IndicatorSound.Service: Object { action.set_state (this.action_state_for_player (player)); action.set_enabled (player.can_raise); } - + SimpleAction? greeter_action = this.actions.lookup_action (player.id + ".greeter") as SimpleAction; if (greeter_action != null) { greeter_action.set_state (this.action_state_for_player (player, greeter_show_track())); greeter_action.set_enabled (player.can_raise); } - + /* If we're playing then put that data in accounts service */ if (player.is_running && export_to_accounts_service && accounts_service != null) { accounts_service.player = player; |