diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2008-06-07 08:51:42 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2008-06-07 08:51:42 (GMT) |
commit | d4b76298019eddf9b306e58ab6608224514e3830 (patch) | |
tree | fc6ea0f2456f66d646af2d4887748482c4a869f2 /src | |
parent | 1c56367091189b7193da1143e05bdf81702742a9 (diff) |
Remove pending activity. Eben thinks we are better served
by a delay before advertising the new active activity on
the network.
Diffstat (limited to 'src')
-rw-r--r-- | src/model/homemodel.py | 51 | ||||
-rw-r--r-- | src/view/Shell.py | 13 | ||||
-rw-r--r-- | src/view/frame/activitiestray.py | 2 | ||||
-rw-r--r-- | src/view/frame/friendstray.py | 6 | ||||
-rw-r--r-- | src/view/home/activitiesring.py | 12 |
5 files changed, 20 insertions, 64 deletions
diff --git a/src/model/homemodel.py b/src/model/homemodel.py index 5538f84..1a42969 100644 --- a/src/model/homemodel.py +++ b/src/model/homemodel.py @@ -50,10 +50,7 @@ class HomeModel(gobject.GObject): ([gobject.TYPE_PYOBJECT])), 'active-activity-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, - ([gobject.TYPE_PYOBJECT])), - 'pending-activity-changed': (gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ([gobject.TYPE_PYOBJECT])) + ([gobject.TYPE_PYOBJECT])) } def __init__(self): @@ -61,7 +58,6 @@ class HomeModel(gobject.GObject): self._activities = [] self._active_activity = None - self._pending_activity = None screen = wnck.screen_get_default() screen.connect('window-opened', self._window_opened_cb) @@ -78,7 +74,7 @@ class HomeModel(gobject.GObject): def get_previous_activity(self): activities = self._get_activities_with_window() - i = activities.index(self._pending_activity) + i = activities.index(self._active_activity) if len(activities) == 0: return None elif i - 1 >= 0: @@ -88,7 +84,7 @@ class HomeModel(gobject.GObject): def get_next_activity(self): activities = self._get_activities_with_window() - i = activities.index(self._pending_activity) + i = activities.index(self._active_activity) if len(activities) == 0: return None elif i + 1 < len(activities): @@ -96,34 +92,8 @@ class HomeModel(gobject.GObject): else: return activities[0] - def get_pending_activity(self): - """Returns the activity that would be seen in the Activity zoom level - - In the Home (or Neighborhood or Groups) zoom level, this - indicates the activity that would become active if the user - switched to the Activity zoom level. (In the Activity zoom - level, this just returns the currently-active activity.) - Unlike get_active_activity(), this never returns None as long - as there is any activity running. - """ - return self._pending_activity - - def _set_pending_activity(self, home_activity): - if self._pending_activity == home_activity: - return - - self._pending_activity = home_activity - self.emit('pending-activity-changed', self._pending_activity) - def get_active_activity(self): - """Returns the activity that the user is currently working in - - In the Activity zoom level, this returns the currently-active - activity. In the other zoom levels, it returns the activity - that was most-recently active in the Activity zoom level, or - None if the most-recently-active activity is no longer - running. - """ + """Returns the activity that the user is currently working in""" return self._active_activity def _set_active_activity(self, home_activity): @@ -183,8 +153,8 @@ class HomeModel(gobject.GObject): home_activity.props.launching = False self.emit('activity-started', home_activity) - if self._pending_activity is None: - self._set_pending_activity(home_activity) + if self._active_activity is None: + self._set_active_activity(home_activity) def _window_closed_cb(self, screen, window): if window.get_window_type() == wnck.WINDOW_NORMAL: @@ -219,7 +189,6 @@ class HomeModel(gobject.GObject): act = self._get_activity_by_xid(window.get_xid()) if act is not None: - self._set_pending_activity(act) self._set_active_activity(act) def _add_activity(self, home_activity): @@ -228,20 +197,16 @@ class HomeModel(gobject.GObject): def _remove_activity(self, home_activity): if home_activity == self._active_activity: - self._set_active_activity(None) - - if home_activity == self._pending_activity: - # Figure out the new _pending_activity windows = wnck.screen_get_default().get_windows_stacked() windows.reverse() for window in windows: new_activity = self._get_activity_by_xid(window.get_xid()) if new_activity is not None: - self._set_pending_activity(new_activity) + self._set_active_activity(new_activity) break else: logging.error('No activities are running') - self._set_pending_activity(None) + self._set_active_activity(None) self.emit('activity-removed', home_activity) self._activities.remove(home_activity) diff --git a/src/view/Shell.py b/src/view/Shell.py index 875e9a5..6da4790 100644 --- a/src/view/Shell.py +++ b/src/view/Shell.py @@ -56,7 +56,6 @@ class Shell(gobject.GObject): self._hosts = {} self._screen = wnck.screen_get_default() self._current_host = None - self._pending_host = None self._screen_rotation = 0 self._key_handler = KeyHandler() @@ -71,8 +70,6 @@ class Shell(gobject.GObject): home_model.connect('activity-removed', self._activity_removed_cb) home_model.connect('active-activity-changed', self._active_activity_changed_cb) - home_model.connect('pending-activity-changed', - self._pending_activity_changed_cb) gobject.idle_add(self._start_journal_idle) @@ -120,12 +117,6 @@ class Shell(gobject.GObject): self._current_host = host - def _pending_activity_changed_cb(self, home_model, home_activity): - if home_activity: - self._pending_host = self._hosts[home_activity.get_xid()] - else: - self._pending_host = None - def get_model(self): return self._model @@ -192,8 +183,8 @@ class Shell(gobject.GObject): self.take_activity_screenshot() if level == shellmodel.ShellModel.ZOOM_ACTIVITY: - if self._pending_host is not None: - self._pending_host.present() + if self._current_host is not None: + self._current_host.present() self._screen.toggle_showing_desktop(False) else: self._model.set_zoom_level(level) diff --git a/src/view/frame/activitiestray.py b/src/view/frame/activitiestray.py index 020cb68..0566399 100644 --- a/src/view/frame/activitiestray.py +++ b/src/view/frame/activitiestray.py @@ -191,7 +191,7 @@ class ActivitiesTray(HTray): self._home_model = shellmodel.get_instance().get_home() self._home_model.connect('activity-added', self.__activity_added_cb) self._home_model.connect('activity-removed', self.__activity_removed_cb) - self._home_model.connect('pending-activity-changed', + self._home_model.connect('active-activity-changed', self.__activity_changed_cb) self._invites = shellmodel.get_instance().get_invites() diff --git a/src/view/frame/friendstray.py b/src/view/frame/friendstray.py index 86decaa..b9d8c07 100644 --- a/src/view/frame/friendstray.py +++ b/src/view/frame/friendstray.py @@ -54,8 +54,8 @@ class FriendsTray(VTray): reply_handler=self._get_activities_cb) home_model = shellmodel.get_instance().get_home() - home_model.connect('pending-activity-changed', - self._pending_activity_changed_cb) + home_model.connect('active-activity-changed', + self._active_activity_changed_cb) def _get_activities_cb(self, activities_list): for act in activities_list: @@ -117,7 +117,7 @@ class FriendsTray(VTray): self._left_hid = activity_ps.connect( 'buddy-left', self.__buddy_left_cb) - def _pending_activity_changed_cb(self, home_model, home_activity): + def _active_activity_changed_cb(self, home_model, home_activity): if home_activity is None: return diff --git a/src/view/home/activitiesring.py b/src/view/home/activitiesring.py index 4432279..394d31a 100644 --- a/src/view/home/activitiesring.py +++ b/src/view/home/activitiesring.py @@ -176,16 +176,16 @@ class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem): CanvasIcon.__init__(self, cache=True) self._home_model = shellmodel.get_instance().get_home() - if self._home_model.get_pending_activity() is not None: - self._update(self._home_model.get_pending_activity()) + if self._home_model.get_active_activity() is not None: + self._update(self._home_model.get_active_activity()) - self._home_model.connect('pending-activity-changed', - self.__pending_activity_changed_cb) + self._home_model.connect('active-activity-changed', + self.__active_activity_changed_cb) self.connect('button-release-event', self.__button_release_event_cb) def __button_release_event_cb(self, icon, event): - self._home_model.get_pending_activity().get_window().activate(1) + self._home_model.get_active_activity().get_window().activate(1) def _update(self, home_activity): _logger.debug('CurrentActivityIcon._update') @@ -199,7 +199,7 @@ class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem): palette = CurrentActivityPalette(home_activity) self.set_palette(palette) - def __pending_activity_changed_cb(self, home_model, home_activity): + def __active_activity_changed_cb(self, home_model, home_activity): self._update(home_activity) class RingLayout(gobject.GObject, hippo.CanvasLayout): |