From ae0accb5a4cc4e6f3a2d2b82b2162c1f1079817b Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sat, 2 Feb 2013 17:10:45 +0100 Subject: [PATCH] ScreenShield: separate notifications for active and locked Now that we have an explicit active-but-not-locked state, we should use different signals to notify changes. lock-status-changed is renamed to active-changed, and a new locked-changed is introduced. https://bugzilla.gnome.org/show_bug.cgi?id=693007 --- js/ui/screenShield.js | 14 +++++++++----- js/ui/shellDBus.js | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index b972eaa4a..8db0f4d6a 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -536,6 +536,7 @@ const ScreenShield = new Lang.Class({ this._hasLockScreen = false; this._isGreeter = false; this._isActive = false; + this._isLocked = false; this._inUnlockAnimation = false; this._activationTime = 0; this._becameActiveId = 0; @@ -956,7 +957,7 @@ const ScreenShield = new Lang.Class({ this._isActive = true; if (prevIsActive != this._isActive) - this.emit('lock-status-changed'); + this.emit('active-changed'); this.emit('lock-screen-shown'); }, @@ -1067,7 +1068,8 @@ const ScreenShield = new Lang.Class({ this._activationTime = 0; this._isActive = false; this._isLocked = false; - this.emit('lock-status-changed'); + this.emit('active-changed'); + this.emit('locked-changed'); }, activate: function(animate) { @@ -1085,7 +1087,7 @@ const ScreenShield = new Lang.Class({ this._resetLockScreen(animate, animate); - // We used to set isActive and emit lock-status-changed here, + // We used to set isActive and emit active-changed here, // but now we do that from lockScreenShown, which means // there is a 0.3 seconds window during which the lock // screen is effectively visible and the screen is locked, but @@ -1105,6 +1107,8 @@ const ScreenShield = new Lang.Class({ this._isLocked = true; this.activate(animate); + + this.emit('locked-changed'); }, }); Signals.addSignalMethods(ScreenShield.prototype); @@ -1138,13 +1142,13 @@ const ScreenShieldFallback = new Lang.Class({ else this._locked = false; - this.emit('lock-status-changed', this._locked); + this.emit('active-changed', this._locked); }, _onSignal: function(proxy, senderName, signalName, params) { if (signalName == 'ActiveChanged') { [this._locked] = params.deep_unpack(); - this.emit('lock-status-changed', this._locked); + this.emit('active-changed', this._locked); } }, diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js index 44ddf749c..a396758a5 100644 --- a/js/ui/shellDBus.js +++ b/js/ui/shellDBus.js @@ -247,7 +247,7 @@ const ScreenSaverDBus = new Lang.Class({ this.parent(); this._screenShield = screenShield; - screenShield.connect('lock-status-changed', Lang.bind(this, function(shield) { + screenShield.connect('active-changed', Lang.bind(this, function(shield) { this._dbusImpl.emit_signal('ActiveChanged', GLib.Variant.new('(b)', [shield.active])); }));