Some work to implement the activity bar
This commit is contained in:
@@ -8,6 +8,7 @@ class ActivityModule:
|
||||
|
||||
def __init__(self, name, activity_id, directory):
|
||||
self._name = name
|
||||
self._icon = None
|
||||
self._id = activity_id
|
||||
self._directory = directory
|
||||
self._show_launcher = False
|
||||
@@ -20,6 +21,14 @@ class ActivityModule:
|
||||
"""Get the activity identifier"""
|
||||
return self._id
|
||||
|
||||
def get_icon(self):
|
||||
"""Get the activity icon name"""
|
||||
return self._icon
|
||||
|
||||
def set_icon(self, icon):
|
||||
"""Set the activity icon name"""
|
||||
self._icon = icon
|
||||
|
||||
def get_directory(self):
|
||||
"""Get the path to activity directory."""
|
||||
return self._directory
|
||||
@@ -97,6 +106,9 @@ class ActivityRegistry:
|
||||
if cp.has_option('Activity', 'show_launcher'):
|
||||
module.set_show_launcher(True)
|
||||
|
||||
if cp.has_option('Activity', 'icon'):
|
||||
module.set_icon(cp.get('Activity', 'icon'))
|
||||
|
||||
module.set_default_type(default_type)
|
||||
|
||||
return True
|
||||
|
||||
+18
-2
@@ -3,6 +3,19 @@ import goocanvas
|
||||
|
||||
from sugar.canvas.IconItem import IconItem
|
||||
|
||||
class ActivityBar(goocanvas.Group):
|
||||
def __init__(self, registry):
|
||||
goocanvas.Group.__init__(self)
|
||||
|
||||
for activity in registry.list_activities():
|
||||
if activity.get_show_launcher():
|
||||
self.add_activity(activity)
|
||||
|
||||
def add_activity(self, activity):
|
||||
item = IconItem(icon_name=activity.get_icon(),
|
||||
color='white', width=42, height=42)
|
||||
self.add_child(item)
|
||||
|
||||
class Background(goocanvas.Group):
|
||||
def __init__(self):
|
||||
goocanvas.Group.__init__(self)
|
||||
@@ -22,7 +35,7 @@ class Background(goocanvas.Group):
|
||||
self.add_child(item)
|
||||
|
||||
class Model(goocanvas.CanvasModelSimple):
|
||||
def __init__(self):
|
||||
def __init__(self, shell):
|
||||
goocanvas.CanvasModelSimple.__init__(self)
|
||||
|
||||
root = self.get_root_item()
|
||||
@@ -30,6 +43,9 @@ class Model(goocanvas.CanvasModelSimple):
|
||||
background = Background()
|
||||
root.add_child(background)
|
||||
|
||||
activity_bar = ActivityBar(shell.get_registry())
|
||||
root.add_child(activity_bar)
|
||||
|
||||
class HomeWindow(gtk.Window):
|
||||
def __init__(self, shell):
|
||||
gtk.Window.__init__(self)
|
||||
@@ -39,7 +55,7 @@ class HomeWindow(gtk.Window):
|
||||
self.connect('realize', self.__realize_cb)
|
||||
|
||||
canvas = goocanvas.CanvasView()
|
||||
canvas_model = Model()
|
||||
canvas_model = Model(shell)
|
||||
canvas.set_bounds(0, 0, 1200, 900)
|
||||
canvas.set_scale(float(800) / float(1200))
|
||||
canvas.set_size_request(800, 600)
|
||||
|
||||
Reference in New Issue
Block a user