Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/toolbox.py
diff options
context:
space:
mode:
Diffstat (limited to 'toolbox.py')
-rw-r--r--toolbox.py51
1 files changed, 20 insertions, 31 deletions
diff --git a/toolbox.py b/toolbox.py
index 25248ad..49f2ff6 100644
--- a/toolbox.py
+++ b/toolbox.py
@@ -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):