diff options
author | Aleksey Lim <alsroot@member.fsf.org> | 2009-10-06 03:31:48 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@member.fsf.org> | 2009-10-06 03:31:48 (GMT) |
commit | 12d59e7b7e0d0fdca49baf29c1df233e14c48b31 (patch) | |
tree | 2401525a09cb76af1cdcea6c06dcc662a6d115f6 | |
parent | e03026271fe26392e68aa9effbeacc2edc9ddaf1 (diff) |
Take into account not yet opened activity windows #1444
-rw-r--r-- | src/jarabe/frame/activitiestray.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py index 4946875..110eff6 100644 --- a/src/jarabe/frame/activitiestray.py +++ b/src/jarabe/frame/activitiestray.py @@ -334,6 +334,14 @@ class ActivitiesTray(HTray): filetransfer.new_file_transfer.connect(self.__new_file_transfer_cb) + def _get_button_id(self, home_activity): + if home_activity.get_activity_id() is not None: + # activity button + return home_activity.get_activity_id() + else: + # non-activity window button + return (None, home_activity.get_xid()) + def __activity_added_cb(self, home_model, home_activity): logging.debug('__activity_added_cb: %r', home_activity) if self.get_children(): @@ -343,18 +351,18 @@ class ActivitiesTray(HTray): button = ActivityButton(home_activity, group) self.add_item(button) - self._buttons[home_activity.get_xid()] = button + self._buttons[self._get_button_id(home_activity)] = button button.connect('clicked', self.__activity_clicked_cb, home_activity) button.show() def __activity_removed_cb(self, home_model, home_activity): logging.debug('__activity_removed_cb: %r', home_activity) - button = self._buttons[home_activity.get_xid()] + button = self._buttons[self._get_button_id(home_activity)] self.remove_item(button) - del self._buttons[home_activity.get_xid()] + del self._buttons[self._get_button_id(home_activity)] def _activate_activity(self, home_activity): - button = self._buttons[home_activity.get_xid()] + button = self._buttons[self._get_button_id(home_activity)] self._freeze_button_clicks = True button.props.active = True self._freeze_button_clicks = False |