diff options
Diffstat (limited to 'toolbox.py')
-rw-r--r-- | toolbox.py | 51 |
1 files changed, 20 insertions, 31 deletions
@@ -82,6 +82,8 @@ from sugar.activity.widgets import ActivityToolbarButton from sugar.graphics.toolbarbox import ToolbarButton, ToolbarBox from sugar.activity.widgets import StopButton +from fontcombobox import FontComboBox + class DrawToolbarBox(ToolbarBox): """Create toolbars for the activity""" @@ -123,23 +125,18 @@ class DrawToolbarBox(ToolbarBox): image_button.props.label = _('Image') self.toolbar.insert(image_button, -1) - separator = gtk.SeparatorToolItem() - separator.props.draw = False - separator.set_expand(True) - separator.show() - self.toolbar.insert(separator, -1) - stop = StopButton(self._activity) self.toolbar.insert(stop, -1) # TODO: workaround # the BrushButton does not starts - brush_button = tools_builder._stroke_color.color_button - brush_button.set_brush_shape(self._activity.area.tool['line shape']) - brush_button.set_brush_size(self._activity.area.tool['line size']) - brush_button.set_stamp_size(self._activity.area.tool['stamp size']) + self.brush_button = tools_builder._stroke_color.color_button + area = self._activity.area + self.brush_button.set_brush_shape(area.tool['line shape']) + self.brush_button.set_brush_size(area.tool['line size']) + self.brush_button.set_stamp_size(area.tool['stamp size']) if self._activity.area.tool['stroke color'] is not None: - brush_button.set_color(self._activity.area.tool['stroke color']) + self.brush_button.set_color(area.tool['stroke color']) ##Make the Edit Toolbar @@ -230,6 +227,7 @@ class ToolsToolbarBuilder(): _TOOL_BRUSH_NAME = 'brush' _TOOL_ERASER_NAME = 'eraser' _TOOL_BUCKET_NAME = 'bucket' + _TOOL_PICKER_NAME = 'picker' _TOOL_STAMP_NAME = 'stamp' _TOOL_MARQUEE_RECT_NAME = 'marquee-rectangular' @@ -251,12 +249,6 @@ class ToolsToolbarBuilder(): separator.set_draw(True) toolbar.insert(separator, -1) - """ - self._tool_pencil = DrawToolButton('tool-pencil', - activity.tool_group, _('Pencil')) - toolbar.insert(self._tool_pencil, -1) - """ - self._tool_brush = DrawToolButton('tool-brush', activity.tool_group, _('Brush')) activity.tool_group = self._tool_brush @@ -270,6 +262,10 @@ class ToolsToolbarBuilder(): activity.tool_group, _('Bucket')) toolbar.insert(self._tool_bucket, -1) + self._tool_picker = DrawToolButton('tool-picker', + activity.tool_group, _('Picker')) + toolbar.insert(self._tool_picker, -1) + self._tool_stamp = DrawToolButton('tool-stamp', activity.tool_group, _('Stamp')) toolbar.insert(self._tool_stamp, -1) @@ -301,6 +297,8 @@ class ToolsToolbarBuilder(): self._TOOL_ERASER_NAME) self._tool_bucket.connect('clicked', self.set_tool, self._TOOL_BUCKET_NAME) + self._tool_picker.connect('clicked', self.set_tool, + self._TOOL_PICKER_NAME) self._tool_stamp.connect('clicked', self.set_tool, self._TOOL_STAMP_NAME) self._tool_marquee_rectangular.connect('clicked', self.set_tool, @@ -604,20 +602,11 @@ class TextToolbar(gtk.Toolbar): tool_item = ToolComboBox(self._font_size_combo) self.insert(tool_item, -1) - self._fonts = [] - pango_context = self.get_pango_context() - pango_context.set_language(pango.Language("en")) - for family in pango_context.list_families(): - self._fonts.append(family.get_name()) - self._fonts.sort() - - self._font_combo = gtk.combo_box_new_text() + self._font_combo = FontComboBox() self._fonts_changed_id = self._font_combo.connect('changed', self.__font_changed_cb) - for i, f in enumerate(self._fonts): - self._font_combo.append_text(f) - if f == activity.area.font_description.get_family(): - self._font_combo.set_active(i) + font_name = activity.area.font_description.get_family() + self._font_combo.set_font_name(font_name) tool_item = ToolComboBox(self._font_combo) self.insert(tool_item, -1) self.show_all() @@ -646,8 +635,8 @@ class TextToolbar(gtk.Toolbar): def __font_changed_cb(self, combo): activity = self._activity - value = self.get_active_text(combo) - activity.area.font_description.set_family(value) + font_name = combo.get_font_name() + activity.area.font_description.set_family(font_name) activity.textview.modify_font(activity.area.font_description) def get_active_text(self, combobox): |