diff options
author | Simon Schampijer <simon@schampijer.de> | 2009-08-17 12:46:47 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2009-08-17 12:46:47 (GMT) |
commit | 296f4e500c1a2f317c6a28418ba2fadfb10cba57 (patch) | |
tree | e6726220c8ff94d74661c9e9d689b46f0b8c75e0 /src/sugar/activity/widgets.py | |
parent | c1f5115b2a5576999d7ad1c39434470ded82bba9 (diff) |
Add ActivityButton for simple activities
Contains only a palette showing the title
Diffstat (limited to 'src/sugar/activity/widgets.py')
-rw-r--r-- | src/sugar/activity/widgets.py | 34 |
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): |