Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jarabe/frame/activitiestray.py16
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