[sugar] [PATCH] Make the favorite activity icons draggable

2008-06-10 Thread Tomeu Vizoso
Hi,

this patch adds the ability to drag activity icons out from the ring.

Thanks,

Tomeu
From 5b44c112e59ed581001bdcadb962ff7f2bb9f9d7 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <[EMAIL PROTECTED](none)>
Date: Tue, 10 Jun 2008 16:55:37 +0200
Subject: [PATCH] Make the favorite activity icons draggable

---
 src/view/home/FriendsBox.py |   12 ++-
 src/view/home/HomeBox.py|   15 ++-
 src/view/home/HomeWindow.py |   31 +++--
 src/view/home/MeshBox.py|   12 ++-
 src/view/home/activitieslist.py |   22 ++--
 src/view/home/activitiesring.py |  263 ++-
 src/view/home/launchbox.py  |8 +-
 src/view/home/transitionbox.py  |   13 ++-
 8 files changed, 274 insertions(+), 102 deletions(-)

diff --git a/src/view/home/FriendsBox.py b/src/view/home/FriendsBox.py
index 7c6648a..8c6ddcf 100644
--- a/src/view/home/FriendsBox.py
+++ b/src/view/home/FriendsBox.py
@@ -14,6 +14,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
+import gobject
 import gtk
 import hippo
 
@@ -26,16 +27,19 @@ from model import shellmodel
 from view.home.FriendView import FriendView
 from view.home.spreadlayout import SpreadLayout
 
-class FriendsBox(hippo.CanvasBox):
+class FriendsBox(hippo.Canvas):
 __gtype_name__ = 'SugarFriendsBox'
 def __init__(self):
-hippo.CanvasBox.__init__(self,
- background_color=style.COLOR_WHITE.get_int())
+gobject.GObject.__init__(self)
+
+self._box = hippo.CanvasBox()
+self._box.props.background_color = style.COLOR_WHITE.get_int()
+self.set_root(self._box)
 
 self._friends = {}
 
 self._layout = SpreadLayout()
-self.set_layout(self._layout)
+self._box.set_layout(self._layout)
 
 self._owner_icon = CanvasIcon(icon_name='computer-xo', cache=True,
   xo_color=profile.get_color())
diff --git a/src/view/home/HomeBox.py b/src/view/home/HomeBox.py
index fa22a11..429b903 100644
--- a/src/view/home/HomeBox.py
+++ b/src/view/home/HomeBox.py
@@ -18,7 +18,6 @@ from gettext import gettext as _
 
 import gobject
 import gtk
-import hippo
 
 from sugar.graphics import style
 from sugar.graphics import iconentry
@@ -32,11 +31,11 @@ _LIST_VIEW = 1
 
 _AUTOSEARCH_TIMEOUT = 1000
 
-class HomeBox(hippo.CanvasBox, hippo.CanvasItem):
+class HomeBox(gtk.VBox):
 __gtype_name__ = 'SugarHomeBox'
 
 def __init__(self):
-hippo.CanvasBox.__init__(self)
+gobject.GObject.__init__(self)
 
 self._ring_view = ActivitiesRing()
 self._list_view = ActivitiesList()
@@ -45,7 +44,8 @@ class HomeBox(hippo.CanvasBox, hippo.CanvasItem):
 self._toolbar = HomeToolbar()
 self._toolbar.connect('query-changed', self.__toolbar_query_changed_cb)
 self._toolbar.connect('view-changed', self.__toolbar_view_changed_cb)
-self.append(hippo.CanvasWidget(widget=self._toolbar))
+self.pack_start(self._toolbar, expand=False)
+self._toolbar.show()
 
 self._set_view(_RING_VIEW)
 
@@ -66,13 +66,14 @@ class HomeBox(hippo.CanvasBox, hippo.CanvasItem):
 if self._enable_xo_palette:
 self._ring_view.enable_xo_palette()
 
-self.append(self._ring_view, hippo.PACK_EXPAND)
-
+self.add(self._ring_view)
+self._ring_view.show()
 elif view == _LIST_VIEW:
 if self._ring_view in self.get_children():
 self.remove(self._ring_view)
 
-self.append(self._list_view, hippo.PACK_EXPAND)
+self.add(self._list_view)
+self._list_view.show()
 else:
 raise ValueError('Invalid view: %r' % view)
 
diff --git a/src/view/home/HomeWindow.py b/src/view/home/HomeWindow.py
index 9151d46..03a571e 100644
--- a/src/view/home/HomeWindow.py
+++ b/src/view/home/HomeWindow.py
@@ -15,7 +15,6 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 import gtk
-import hippo
 
 from sugar.graphics import style
 from sugar.graphics import palettegroup
@@ -44,10 +43,6 @@ class HomeWindow(gtk.Window):
 self._active = False
 self._level = ShellModel.ZOOM_HOME
 
-self._canvas = hippo.Canvas()
-self.add(self._canvas)
-self._canvas.show()
-
 self.set_default_size(gtk.gdk.screen_width(),
   gtk.gdk.screen_height())
 
@@ -70,8 +65,9 @@ class HomeWindow(gtk.Window):
 self.launch_box = LaunchBox()
 
 self._activate_view()
-self._canvas.set_root(self._home_box)
-
+self.add(self._home_box)
+self._home_box.show()
+
 self._transition_box.connect('completed',
  self._transition_completed_cb)
 
@@ -122,8 +118,9 @@ class HomeWindow(gtk.Window):
 self._deactivate_view()
 self.

Re: [sugar] [PATCH] Make the favorite activity icons draggable

2008-06-11 Thread Simon Schampijer
The patch looks good to me r+.

Simon

Tomeu Vizoso wrote:
> Hi,
> 
> this patch adds the ability to drag activity icons out from the ring.
> 
> Thanks,
> 
> Tomeu
> 
> 
> 
> 
> ___
> Sugar mailing list
> Sugar@lists.laptop.org
> http://lists.laptop.org/listinfo/sugar

___
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar