diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-17 12:42:29 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-17 12:42:29 (GMT) |
commit | 640fff56191efe08013f1194f18db824d9aa228d (patch) | |
tree | 650cd9900fc2124da21a78ea20a9a87a1544cacd /shell | |
parent | f65d23c44002fe94477cb3354667e9297e386092 (diff) |
Handle activity closed by removing his piece from the donut.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/HomeWindow.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/shell/HomeWindow.py b/shell/HomeWindow.py index 26d29cc..3790bf0 100644 --- a/shell/HomeWindow.py +++ b/shell/HomeWindow.py @@ -5,6 +5,7 @@ import wnck from sugar.canvas.IconItem import IconItem from sugar.canvas.DonutItem import DonutItem from sugar.canvas.DonutItem import PieceItem +from sugar.canvas.DonutItem import PieceIcon class TasksItem(DonutItem): def __init__(self, shell): @@ -23,13 +24,17 @@ class TasksItem(DonutItem): def _remove(self, activity): item = self._items[activity.get_id()] - self.remove_child(item) + self.remove_piece(item) del self._items[activity.get_id()] def _add(self, activity): icon_name = activity.get_icon_name() item = self.add_piece(100 / 8, icon_name, 'blue') + + # FIXME This really sucks. Fix goocanvas event handling. item.set_data('activity', activity) + item.get_icon().set_data('activity', activity) + self._items[activity.get_id()] = item class ActivityItem(IconItem): @@ -117,7 +122,8 @@ class HomeWindow(gtk.Window): item_view.connect("button_press_event", self.__activity_button_press_cb, item.get_activity_id()) - elif isinstance(item, PieceItem): + elif isinstance(item, PieceItem) or \ + isinstance(item, PieceIcon): item_view.connect("button_press_event", self.__task_button_press_cb) |