diff options
author | Owen Williams <owen@ywwg.com> | 2007-01-26 02:30:37 (GMT) |
---|---|---|
committer | Owen Williams <owen@ywwg.localdomain> | 2007-01-26 02:30:37 (GMT) |
commit | f2c3505f7ec3e21df1f5f16eaaad46b02981793e (patch) | |
tree | c57af3409e9e1bcfc9964fd6a504d3b6205aaf1c /shell/model/homemodel.py | |
parent | 698e0cb7f9c66aa34e752d3cd9c9bcdf50958259 (diff) |
Fix homemodel to return properly-ordered activities (based on timestamp)
Diffstat (limited to 'shell/model/homemodel.py')
-rw-r--r-- | shell/model/homemodel.py | 17 |
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) |