Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorMarco 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)
commit640fff56191efe08013f1194f18db824d9aa228d (patch)
tree650cd9900fc2124da21a78ea20a9a87a1544cacd /shell
parentf65d23c44002fe94477cb3354667e9297e386092 (diff)
Handle activity closed by removing his piece from the donut.
Diffstat (limited to 'shell')
-rw-r--r--shell/HomeWindow.py10
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)