[gnome-shell] Fix time updating for recent files



commit 75c875f0733254b2ec5a9292c4a7ca95ead7d342
Author: Colin Walters <walters verbum org>
Date:   Wed Jul 22 12:46:05 2009 -0400

    Fix time updating for recent files

 js/ui/docDisplay.js |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)
---
diff --git a/js/ui/docDisplay.js b/js/ui/docDisplay.js
index d457d2d..e7a8280 100644
--- a/js/ui/docDisplay.js
+++ b/js/ui/docDisplay.js
@@ -6,6 +6,7 @@ const Gtk = imports.gi.Gtk;
 const Lang = imports.lang;
 const Shell = imports.gi.Shell;
 const Signals = imports.signals;
+const Mainloop = imports.mainloop;
 
 const DocInfo = imports.misc.docInfo;
 const GenericDisplay = imports.ui.genericDisplay;
@@ -102,7 +103,7 @@ DocDisplay.prototype = {
         GenericDisplay.GenericDisplay.prototype._init.call(this, width);
         let me = this;
 
-        this._updateTimeoutTarget = 0;
+        this._updateTimeoutTarget = -1;
         this._updateTimeoutId = 0;
 
         this._docManager = DocInfo.getDocManager(GenericDisplay.ITEM_DISPLAY_ICON_SIZE);
@@ -198,10 +199,11 @@ DocDisplay.prototype = {
     _createDisplayItem: function(itemInfo, width) {
         let currentSecs = new Date().getTime() / 1000;
         let doc = new DocDisplayItem(itemInfo, currentSecs, width);
-        if (doc.getUpdateTimeout() < this._updateTimeoutTarget) {
+        let timeout = Math.round(doc.getUpdateTimeout() / 8)+1;
+        if (this._updateTimeoutTarget < 0 || timeout < this._updateTimeoutTarget) {
             if (this._updateTimeoutId > 0)
                 Mainloop.source_remove(this._updateTimeoutId);
-            this._updateTimeoutId = Mainloop.timeout_add_seconds(doc.getUpdateTimeout(), Lang.bind(this, this._docTimeout));
+            this._updateTimeoutId = Mainloop.timeout_add_seconds(timeout, Lang.bind(this, this._docTimeout));
             this._updateTimeoutTarget = doc.getUpdateTimeout();
         }
         return doc;
@@ -210,9 +212,9 @@ DocDisplay.prototype = {
     //// Private Methods ////
     _docTimeout: function () {
         let currentSecs = new Date().getTime() / 1000;
-        for (let docId in this._allItems) {
-            let doc = this._allItems[docId];
-            doc.redisplay(currentSecs);
+        for (let docId in this._displayedItems) {
+            let disp = this._displayedItems[docId];
+            disp.redisplay(currentSecs);
         }
         return true;
     }



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