aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorXavi Garcia Mena <xavi.garcia.mena@canonical.com>2015-11-19 15:14:47 +0100
committerXavi Garcia Mena <xavi.garcia.mena@canonical.com>2015-11-19 15:14:47 +0100
commitf06c2ddee06bce9ed8320d78a65fd6206db3e6f1 (patch)
tree6c99d5b91281ce49757b0ac1f263a7309bd125bf /src
parent73af3f742f2085a1a21616edc92347b105f48e92 (diff)
downloadayatana-indicator-sound-f06c2ddee06bce9ed8320d78a65fd6206db3e6f1.tar.gz
ayatana-indicator-sound-f06c2ddee06bce9ed8320d78a65fd6206db3e6f1.tar.bz2
ayatana-indicator-sound-f06c2ddee06bce9ed8320d78a65fd6206db3e6f1.zip
Fix issues with warning dialog
Diffstat (limited to 'src')
-rw-r--r--src/service.vala6
-rw-r--r--src/volume-control-pulse.vala4
-rw-r--r--src/volume-control.vala1
3 files changed, 9 insertions, 2 deletions
diff --git a/src/service.vala b/src/service.vala
index 12e2ac2..2b2d667 100644
--- a/src/service.vala
+++ b/src/service.vala
@@ -40,7 +40,7 @@ public class IndicatorSound.Service: Object {
warn_notification.set_hint ("x-canonical-non-shaped-icon", "true");
warn_notification.set_hint ("x-canonical-snap-decisions", "true");
warn_notification.set_hint ("x-canonical-private-affirmative-tint", "true");
- warn_notification.closed.connect((n) => { n.clear_actions(); });
+ warn_notification.closed.connect((n) => { n.clear_actions(); waiting_user_approve_warn=false; });
BusWatcher.watch_namespace (GLib.BusType.SESSION,
"org.freedesktop.Notifications",
() => { debug("Notifications name appeared"); },
@@ -609,7 +609,9 @@ public class IndicatorSound.Service: Object {
var warn = loud
&& this.notify_server_supports_actions
&& !this.volume_control.high_volume_approved;
-
+ if (waiting_user_approve_warn && volume_control.below_warning_volume) {
+ close_notification(warn_notification);
+ }
if (warn) {
close_notification(info_notification);
if (_pre_warn_volume == null) {
diff --git a/src/volume-control-pulse.vala b/src/volume-control-pulse.vala
index 8122f26..45cf8a6 100644
--- a/src/volume-control-pulse.vala
+++ b/src/volume-control-pulse.vala
@@ -738,6 +738,10 @@ public class VolumeControlPulse : VolumeControl
get { return this._high_volume; }
private set { this._high_volume = value; }
}
+ public override bool below_warning_volume {
+ get { return this._volume.volume < this._warning_volume_norms; }
+ private set { }
+ }
private void init_high_volume() {
_settings.changed["warning-volume-enabled"].connect(() => update_high_volume_cache());
_settings.changed["warning-volume-decibels"].connect(() => update_high_volume_cache());
diff --git a/src/volume-control.vala b/src/volume-control.vala
index 8e615ea..632af08 100644
--- a/src/volume-control.vala
+++ b/src/volume-control.vala
@@ -48,6 +48,7 @@ public abstract class VolumeControl : Object
public virtual bool ready { get { return false; } set { } }
public virtual bool active_mic { get { return false; } set { } }
public virtual bool high_volume { get { return false; } protected set { } }
+ public virtual bool below_warning_volume { get { return false; } protected set { } }
public virtual bool mute { get { return false; } }
public virtual bool is_playing { get { return false; } }
public virtual VolumeControl.ActiveOutput active_output { get { return VolumeControl.ActiveOutput.SPEAKERS; } }