Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/home/HomeBox.py
diff options
context:
space:
mode:
authorDan Winship <dwinship@redhat.com>2007-08-17 15:53:33 (GMT)
committer Dan Winship <dwinship@redhat.com>2007-08-17 15:53:33 (GMT)
commitcf5c995585d29171a9a33cb97b6e04b967d89e2d (patch)
treed8c45eee18150e71fa46fc17a801c25ad70d39bd /shell/view/home/HomeBox.py
parent723429fb80720d26797822996f68c255b25cff7b (diff)
Update the activity ring wedge sizes more often
(immediately before switching to the Home view, and on a timer after that)
Diffstat (limited to 'shell/view/home/HomeBox.py')
-rw-r--r--shell/view/home/HomeBox.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/shell/view/home/HomeBox.py b/shell/view/home/HomeBox.py
index 2fa2183..f340c1a 100644
--- a/shell/view/home/HomeBox.py
+++ b/shell/view/home/HomeBox.py
@@ -63,6 +63,11 @@ class HomeBox(hippo.CanvasBox, hippo.CanvasItem):
devices_model.connect('device-disappeared',
self._device_disappeared_cb)
+ self._redraw_id = None
+
+ def __del__(self):
+ self.suspend()
+
def _add_device(self, device):
view = deviceview.create(device)
self.append(view, hippo.PACK_FIXED)
@@ -103,6 +108,23 @@ class HomeBox(hippo.CanvasBox, hippo.CanvasItem):
i += 1
+ _REDRAW_TIMEOUT = 5 * 60 * 1000 # 5 minutes
+
+ def resume(self):
+ self._redraw_activity_ring()
+ if self._redraw_id is None:
+ self._redraw_id = gobject.timeout_add(self._REDRAW_TIMEOUT,
+ self._redraw_activity_ring)
+
+ def suspend(self):
+ if self._redraw_id is not None:
+ gobject.source_remove(self._redraw_id)
+ self._redraw_id = None
+
+ def _redraw_activity_ring(self):
+ self._donut.emit_request_changed()
+ return True
+
def has_activities(self):
return self._donut.has_activities()