From cf5c995585d29171a9a33cb97b6e04b967d89e2d Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 17 Aug 2007 15:53:33 +0000 Subject: Update the activity ring wedge sizes more often (immediately before switching to the Home view, and on a timer after that) --- (limited to 'shell/view/home/HomeBox.py') 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() -- cgit v0.9.1