diff options
author | Aleksey Lim <alsroot@member.fsf.org> | 2009-07-13 01:40:23 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@member.fsf.org> | 2009-07-13 01:40:23 (GMT) |
commit | 442034bb8b5deb9706d51f1343b3524737b3d4d4 (patch) | |
tree | c246a2fab311da099a5ac81bac8884e517967976 /src/sugar/activity/activity.py | |
parent | 55609885de00509097af840427f1688bb68b136a (diff) |
Support new toolbars widgets in activity.py
Diffstat (limited to 'src/sugar/activity/activity.py')
-rw-r--r-- | src/sugar/activity/activity.py | 85 |
1 files changed, 61 insertions, 24 deletions
diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py index 9809928..fb523a9 100644 --- a/src/sugar/activity/activity.py +++ b/src/sugar/activity/activity.py @@ -73,6 +73,7 @@ from sugar.graphics.toolcombobox import ToolComboBox from sugar.graphics.alert import Alert from sugar.graphics.icon import Icon from sugar.graphics.xocolor import XoColor +from sugar.graphics.toolbar import Toolbar, ToolbarButton from sugar.datastore import datastore from sugar.session import XSMPClient from sugar import wm @@ -94,7 +95,7 @@ class ActivityToolbar(gtk.Toolbar): All activities should have this toolbar. It is easiest to add it to your Activity by using the ActivityToolbox. """ - def __init__(self, activity): + def __init__(self, activity, hide_stop=False): gtk.Toolbar.__init__(self) self._activity = activity @@ -141,11 +142,9 @@ class ActivityToolbar(gtk.Toolbar): self.insert(self.keep, -1) self.keep.show() - self.stop = ToolButton('activity-stop', tooltip=_('Stop')) - self.stop.props.accelerator = '<Ctrl>Q' - self.stop.connect('clicked', self.__stop_clicked_cb) - self.insert(self.stop, -1) - self.stop.show() + if not hide_stop: + stop = stop_button(activity) + self.insert(stop, -1) self._update_title_sid = None @@ -177,9 +176,6 @@ class ActivityToolbar(gtk.Toolbar): def __keep_clicked_cb(self, button): self._activity.copy() - def __stop_clicked_cb(self, button): - self._activity.close() - def __jobject_updated_cb(self, jobject): self.title.set_text(jobject['title']) @@ -254,30 +250,20 @@ class EditToolbar(gtk.Toolbar): def __init__(self): gtk.Toolbar.__init__(self) - self.undo = ToolButton('edit-undo') - self.undo.set_tooltip(_('Undo')) + self.undo = undo_button() self.insert(self.undo, -1) - self.undo.show() - self.redo = ToolButton('edit-redo') - self.redo.set_tooltip(_('Redo')) + self.redo = redo_button() self.insert(self.redo, -1) - self.redo.show() - self.separator = gtk.SeparatorToolItem() - self.separator.set_draw(True) + self.separator = separator() self.insert(self.separator, -1) - self.separator.show() - self.copy = ToolButton('edit-copy') - self.copy.set_tooltip(_('Copy')) + self.copy = copy_button() self.insert(self.copy, -1) - self.copy.show() - self.paste = ToolButton('edit-paste') - self.paste.set_tooltip(_('Paste')) + self.paste = paste_button() self.insert(self.paste, -1) - self.paste.show() class ActivityToolbox(Toolbox): """Creates the Toolbox for the Activity @@ -1061,3 +1047,54 @@ def show_object_in_journal(object_id): obj = bus.get_object(J_DBUS_SERVICE, J_DBUS_PATH) journal = dbus.Interface(obj, J_DBUS_INTERFACE) journal.ShowObject(object_id) + +def toolbar(activity): + activity_button = ToolbarButton( + page=ActivityToolbar(activity, hide_stop=True), + icon_name='computer-xo') + activity_button.show() + return activity_button + +def expander(): + separator = gtk.SeparatorToolItem() + separator.props.draw = False + separator.set_expand(True) + separator.show() + return separator + +def stop_button(activity, **kwargs): + stop = ToolButton('activity-stop', tooltip=_('Stop'), **kwargs) + stop.props.accelerator = '<Ctrl>Q' + stop.connect('clicked', lambda button: activity.close()) + stop.show() + return stop + +def undo_button(**kwargs): + undo = ToolButton('edit-undo', **kwargs) + undo.set_tooltip(_('Undo')) + undo.show() + return undo + +def redo_button(**kwargs): + redo = ToolButton('edit-redo', **kwargs) + redo.set_tooltip(_('Redo')) + redo.show() + return redo + +def separator(**kwargs): + separator = gtk.SeparatorToolItem(**kwargs) + separator.set_draw(True) + separator.show() + return separator + +def copy_button(**kwargs): + copy = ToolButton('edit-copy', **kwargs) + copy.set_tooltip(_('Copy')) + copy.show() + return copy + +def paste_button(**kwargs): + paste = ToolButton('edit-paste', **kwargs) + paste.set_tooltip(_('Paste')) + paste.show() + return paste |