From 57992d3fb419561a38cc2e84cf68c4b5790203bb Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 25 Sep 2006 19:41:08 +0200 Subject: [PATCH 1/2] Handle None current activity case --- shell/model/MeshModel.py | 8 ++++++-- shell/view/home/MeshGroup.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/shell/model/MeshModel.py b/shell/model/MeshModel.py index 2b47bafc..d8b86407 100644 --- a/shell/model/MeshModel.py +++ b/shell/model/MeshModel.py @@ -67,8 +67,12 @@ class MeshModel(gobject.GObject): def _buddy_activity_changed_cb(self, buddy, cur_activity): buddy_model = self._buddies[buddy.get_name()] - activity_model = self._activities[cur_activity.get_id()] - self.emit('buddy-moved', buddy_model, activity_model) + + if cur_activity == None: + self.emit('buddy-moved', buddy_model, None) + else: + activity_model = self._activities[cur_activity.get_id()] + self.emit('buddy-moved', buddy_model, activity_model) def _buddy_appeared_cb(self, pservice, buddy): model = BuddyModel(buddy=buddy) diff --git a/shell/view/home/MeshGroup.py b/shell/view/home/MeshGroup.py index 689f759e..a95605d3 100644 --- a/shell/view/home/MeshGroup.py +++ b/shell/view/home/MeshGroup.py @@ -117,7 +117,7 @@ class MeshGroup(goocanvas.Group): self._remove_buddy(buddy_model) if activity_model == None: - self.add_buddy(buddy_model) + self._add_alone_buddy(buddy_model) else: activity = self._activities[activity_model.get_id()] From 9dd98949e53e7847ea823f3dbed666e8c858c53e Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 25 Sep 2006 19:59:47 +0200 Subject: [PATCH 2/2] Hrm not really sure why I need this --- sugar/canvas/SnowflakeLayout.py | 2 +- tests/test-snowflake.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sugar/canvas/SnowflakeLayout.py b/sugar/canvas/SnowflakeLayout.py index 9a0c7098..b8c6a3d2 100644 --- a/sugar/canvas/SnowflakeLayout.py +++ b/sugar/canvas/SnowflakeLayout.py @@ -28,7 +28,7 @@ class SnowflakeLayout: [width, height] = self._root.get_size_request() matrix = cairo.Matrix(1, 0, 0, 1, 0, 0) - matrix.translate(self._cx - (width / 2), self._cy - (height / 2)) + matrix.translate(self._cx, self._cy) self._root.set_transform(matrix) def _layout_child(self, child, index): diff --git a/tests/test-snowflake.py b/tests/test-snowflake.py index bba90f5e..4fd840d6 100755 --- a/tests/test-snowflake.py +++ b/tests/test-snowflake.py @@ -60,6 +60,11 @@ group.translate(500, 500) _create_snowflake(group, 8) root.add_child(group) +layout = SnowflakeLayout() +group = goocanvas.Group() +group.translate(20, 500) +_create_snowflake(group, 2) +root.add_child(group) canvas.set_model(canvas_model)