From 12d59e7b7e0d0fdca49baf29c1df233e14c48b31 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Tue, 06 Oct 2009 03:31:48 +0000 Subject: Take into account not yet opened activity windows #1444 --- 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 -- cgit v0.9.1