Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2009-08-17 12:46:47 (GMT)
committer Simon Schampijer <simon@schampijer.de>2009-08-17 12:46:47 (GMT)
commit296f4e500c1a2f317c6a28418ba2fadfb10cba57 (patch)
treee6726220c8ff94d74661c9e9d689b46f0b8c75e0
parentc1f5115b2a5576999d7ad1c39434470ded82bba9 (diff)
Add ActivityButton for simple activities
Contains only a palette showing the title
-rw-r--r--src/sugar/activity/widgets.py34
1 files changed, 26 insertions, 8 deletions
diff --git a/src/sugar/activity/widgets.py b/src/sugar/activity/widgets.py
index 9e87fab..229be99 100644
--- a/src/sugar/activity/widgets.py
+++ b/src/sugar/activity/widgets.py
@@ -31,22 +31,40 @@ from sugar.bundle.activitybundle import ActivityBundle
_ = lambda msg: gettext.dgettext('sugar-toolkit', msg)
+
+def _create_activity_icon():
+ from sugar.activity.activity import get_bundle_path
+ bundle = ActivityBundle(get_bundle_path())
+
+ client = gconf.client_get_default()
+ color = XoColor(client.get_string('/desktop/sugar/user/color'))
+ icon = Icon(file=bundle.get_icon(), xo_color=color)
+ return icon
+
+class ActivityButton(ToolButton):
+ def __init__(self, activity, **kwargs):
+ ToolButton.__init__(self, **kwargs)
+
+ icon = _create_activity_icon()
+ self.set_icon_widget(icon)
+ icon.show()
+
+ self.props.tooltip = activity.metadata['title']
+ activity.metadata.connect('updated', self.__jobject_updated_cb)
+
+ def __jobject_updated_cb(self, jobject):
+ self.props.tooltip = jobject['title']
+
class ActivityToolbarButton(ToolbarButton):
def __init__(self, activity, **kwargs):
toolbar = ActivityToolbar(activity)
toolbar.stop.hide()
ToolbarButton.__init__(self, page=toolbar, **kwargs)
- self.props.label = _('Activity toolbar')
-
- from sugar.activity.activity import get_bundle_path
- bundle = ActivityBundle(get_bundle_path())
- client = gconf.client_get_default()
- color = XoColor(client.get_string('/desktop/sugar/user/color'))
- icon = Icon(file=bundle.get_icon(), xo_color=color)
- icon.show()
+ icon = _create_activity_icon()
self.set_icon_widget(icon)
+ icon.show()
class StopButton(ToolButton):
def __init__(self, activity, **kwargs):