[gnome-shell] Update to new GnomeIdleMonitor API



commit 261fbef516688ce0612af6852132291adbb30cf1
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Fri Jan 18 00:24:32 2013 -0500

    Update to new GnomeIdleMonitor API
    
    https://bugzilla.gnome.org/show_bug.cgi?id=688227

 js/ui/messageTray.js    |   19 +++++--------------
 js/ui/pointerWatcher.js |    4 ++--
 js/ui/screenShield.js   |    8 +++-----
 3 files changed, 10 insertions(+), 21 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 7376456..8af765d 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -1642,7 +1642,6 @@ const MessageTray = new Lang.Class({
         this._closeButton.connect('clicked', Lang.bind(this, this._closeNotification));
         this._notificationWidget.add_actor(this._closeButton);
 
-        this._idleMonitorBecameActiveId = 0;
         this._userActiveWhileNotificationShown = false;
 
         this.idleMonitor = new GnomeDesktop.IdleMonitor();
@@ -2443,9 +2442,6 @@ const MessageTray = new Lang.Class({
     },
 
     _onIdleMonitorBecameActive: function() {
-        this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
-        this._idleMonitorBecameActiveId = 0;
-
         this._userActiveWhileNotificationShown = true;
         this._updateNotificationTimeout(2000);
         this._updateState();
@@ -2454,12 +2450,11 @@ const MessageTray = new Lang.Class({
     _showNotification: function() {
         this._notification = this._notificationQueue.shift();
 
-        let userIdle = this.idleMonitor.get_idletime() > IDLE_TIME;
-        if (userIdle) {
-            this._userActiveWhileNotificationShown = false;
-            this._idleMonitorBecameActiveId = this.idleMonitor.connect('became-active', Lang.bind(this, 
this._onIdleMonitorBecameActive));
-        } else {
-            this._userActiveWhileNotificationShown = true;
+        this._userActiveWhileNotificationShown = this.idleMonitor.get_idletime() > IDLE_TIME;
+        if (!this._userActiveWhileNotificationShown) {
+            // If the user isn't active, set up a watch to let us know
+            // when the user becomes active.
+            this.idleMonitor.add_user_active_watch(Lang.bind(this, this._onIdleMonitorBecameActive));
         }
 
         this._notificationClickedId = this._notification.connect('done-displaying',
@@ -2577,10 +2572,6 @@ const MessageTray = new Lang.Class({
 
         this._grabHelper.ungrab({ actor: this._notification.actor });
 
-        if (this._idleMonitorBecameActiveId) {
-            this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
-            this._idleMonitorBecameActiveId = 0;
-        }
         if (this._notificationExpandedId) {
             this._notification.disconnect(this._notificationExpandedId);
             this._notificationExpandedId = 0;
diff --git a/js/ui/pointerWatcher.js b/js/ui/pointerWatcher.js
index dc31a1d..38339b8 100644
--- a/js/ui/pointerWatcher.js
+++ b/js/ui/pointerWatcher.js
@@ -42,8 +42,7 @@ const PointerWatcher = new Lang.Class({
 
     _init: function() {
         this._idleMonitor = new GnomeDesktop.IdleMonitor();
-        this._idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
-        this._idleMonitor.add_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
+        this._idleMonitor.add_idle_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
         this._idle = this._idleMonitor.get_idletime() > IDLE_TIME;
         this._watches = [];
         this.pointerX = null;
@@ -87,6 +86,7 @@ const PointerWatcher = new Lang.Class({
 
     _onIdleMonitorBecameIdle: function(monitor) {
         this._idle = true;
+        this._idleMonitor.add_user_active_watch(Lang.bind(this, this._onIdleMonitorBecameActive));
         this._updateTimeout();
     },
 
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index d57a94e..e9301a9 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -771,9 +771,7 @@ const ScreenShield = new Lang.Class({
         if (this._activationTime == 0)
             this._activationTime = GLib.get_monotonic_time();
 
-        if (this._becameActiveId == 0)
-            this._becameActiveId = this.idleMonitor.connect('became-active',
-                                                            Lang.bind(this, this._onUserBecameActive));
+        this._becameActiveId = this.idleMonitor.add_user_active_watch(this._onUserBecameActive);
 
         let shouldLock = this._settings.get_boolean(LOCK_ENABLED_KEY) && !this._isLocked;
 
@@ -807,7 +805,7 @@ const ScreenShield = new Lang.Class({
         //   session is effectivelly locked now, it's time to build and show
         //   the lock screen
 
-        this.idleMonitor.disconnect(this._becameActiveId);
+        this.idleMonitor.remove_watch(this._becameActiveId);
         this._becameActiveId = 0;
 
         let lightboxWasShown = this._lightbox.shown;
@@ -1115,7 +1113,7 @@ const ScreenShield = new Lang.Class({
         this.actor.hide();
 
         if (this._becameActiveId != 0) {
-            this.idleMonitor.disconnect(this._becameActiveId);
+            this.idleMonitor.remove_watch(this._becameActiveId);
             this._becameActiveId = 0;
         }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]