Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/model/homemodel.py
diff options
context:
space:
mode:
authorOwen Williams <owen@ywwg.com>2007-01-26 02:30:37 (GMT)
committer Owen Williams <owen@ywwg.localdomain>2007-01-26 02:30:37 (GMT)
commitf2c3505f7ec3e21df1f5f16eaaad46b02981793e (patch)
treec57af3409e9e1bcfc9964fd6a504d3b6205aaf1c /shell/model/homemodel.py
parent698e0cb7f9c66aa34e752d3cd9c9bcdf50958259 (diff)
Fix homemodel to return properly-ordered activities (based on timestamp)
Diffstat (limited to 'shell/model/homemodel.py')
-rw-r--r--shell/model/homemodel.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/shell/model/homemodel.py b/shell/model/homemodel.py
index cbc06a9..30ffb8b 100644
--- a/shell/model/homemodel.py
+++ b/shell/model/homemodel.py
@@ -56,14 +56,25 @@ class HomeModel(gobject.GObject):
return self._current_activity
def __iter__(self):
- return iter(self._activities)
+ ordered_acts = self._get_ordered_activities()
+ return iter(ordered_acts)
def __len__(self):
return len(self._activities)
def __getitem__(self, i):
- return self._activities[i]
-
+ ordered_acts = self._get_ordered_activities()
+ return ordered_acts[i]
+
+ def index(self, obj):
+ ordered_acts = self._get_ordered_activities()
+ return ordered_acts.index(obj)
+
+ def _get_ordered_activities(self):
+ ordered_acts = self._activities.values()
+ ordered_acts.sort(key=lambda a: a.get_launch_time())
+ return ordered_acts
+
def _window_opened_cb(self, screen, window):
if window.get_window_type() == wnck.WINDOW_NORMAL:
self._add_activity(window)