Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-01-09 19:23:10 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2012-01-10 16:45:02 (GMT)
commit8d7367b53bf043d4132d95a8e40818a0dd77641d (patch)
treec560e5a414ebc7ac73a1b322469ed77b79f25c53
parent28a5b136087b9ef5f188fb3531e3052b2c619717 (diff)
Move text buttons to text toolbar; image button to main toolbar
Signed-off-by: Walter Bender <walter.bender@gmail.com> Reviewed-by: Gary Martin <garycmartin@googlemail.com>
-rw-r--r--AbiWordActivity.py77
-rw-r--r--toolbar.py81
2 files changed, 78 insertions, 80 deletions
diff --git a/AbiWordActivity.py b/AbiWordActivity.py
index a21f819..ed1a3f8 100644
--- a/AbiWordActivity.py
+++ b/AbiWordActivity.py
@@ -37,9 +37,8 @@ from sugar.activity.activity import get_bundle_path
from sugar import mime
+from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.toolbarbox import ToolbarButton, ToolbarBox
-from sugar.graphics.toggletoolbutton import ToggleToolButton
-from sugar.graphics.colorbutton import ColorToolButton
from sugar.graphics import style
from toolbar import EditToolbar
@@ -49,6 +48,7 @@ from toolbar import ListToolbar
from toolbar import InsertToolbar
from toolbar import ParagraphToolbar
from widgets import ExportButtonFactory
+from port import chooser
logger = logging.getLogger('write-activity')
@@ -117,41 +117,20 @@ class AbiWordActivity(activity.Activity):
separator = gtk.SeparatorToolItem()
toolbar_box.toolbar.insert(separator, -1)
- bold = ToggleToolButton('format-text-bold')
- bold.set_tooltip(_('Bold'))
- bold_id = bold.connect('clicked', lambda sender:
- self.abiword_canvas.toggle_bold())
- self.abiword_canvas.connect('bold', lambda abi, b:
- self._setToggleButtonState(bold, b, bold_id))
- toolbar_box.toolbar.insert(bold, -1)
-
- italic = ToggleToolButton('format-text-italic')
- italic.set_tooltip(_('Italic'))
- italic_id = italic.connect('clicked', lambda sender:
- self.abiword_canvas.toggle_italic())
- self.abiword_canvas.connect('italic', lambda abi, b:
- self._setToggleButtonState(italic, b, italic_id))
- toolbar_box.toolbar.insert(italic, -1)
-
- underline = ToggleToolButton('format-text-underline')
- underline.set_tooltip(_('Underline'))
- underline_id = underline.connect('clicked', lambda sender:
- self.abiword_canvas.toggle_underline())
- self.abiword_canvas.connect('underline', lambda abi, b:
- self._setToggleButtonState(underline, b, underline_id))
- toolbar_box.toolbar.insert(underline, -1)
-
- separator = gtk.SeparatorToolItem()
- toolbar_box.toolbar.insert(separator, -1)
-
- color = ColorToolButton()
- color.connect('notify::color', self._text_color_cb,
- self.abiword_canvas)
- tool_item = gtk.ToolItem()
- tool_item.add(color)
- toolbar_box.toolbar.insert(tool_item, -1)
- self.abiword_canvas.connect('color', lambda abi, r, g, b:
- color.set_color(gtk.gdk.Color(r * 256, g * 256, b * 256)))
+ image = ToolButton('insert-picture')
+ image.set_tooltip(_('Insert Image'))
+ self._image_id = image.connect('clicked', self._image_cb)
+ toolbar_box.toolbar.insert(image, -1)
+
+ palette = image.get_palette()
+ content_box = gtk.VBox()
+ palette.set_content(content_box)
+ image_floating_checkbutton = gtk.CheckButton(_('Floating'))
+ image_floating_checkbutton.connect('toggled',
+ self._image_floating_checkbutton_toggled_cb)
+ content_box.pack_start(image_floating_checkbutton)
+ content_box.show_all()
+ self.floating_image = False
separator = gtk.SeparatorToolItem()
separator.props.draw = False
@@ -173,17 +152,6 @@ class AbiWordActivity(activity.Activity):
self._zoom_handler = self.abiword_canvas.connect("zoom",
self.__zoom_cb)
- def _text_color_cb(self, button, pspec, abiword_canvas):
- newcolor = button.get_color()
- abiword_canvas.set_text_color(int(newcolor.red / 256.0),
- int(newcolor.green / 256.0),
- int(newcolor.blue / 256.0))
-
- def _setToggleButtonState(self, button, b, id):
- button.handler_block(id)
- button.set_active(b)
- button.handler_unblock(id)
-
def __zoom_cb(self, abi, zoom):
abi.disconnect(self._zoom_handler)
@@ -442,3 +410,16 @@ class AbiWordActivity(activity.Activity):
mime_parents = mime.get_mime_parents(self.metadata['mime_type'])
return self.metadata['mime_type'] in ['text/plain', 'text/csv'] or \
'text/plain' in mime_parents
+
+ def _image_floating_checkbutton_toggled_cb(self, checkbutton):
+ self.floating_image = checkbutton.get_active()
+
+ def _image_cb(self, button):
+
+ def cb(object):
+ logging.debug('ObjectChooser: %r' % object)
+ self.abiword_canvas.insert_image(object.file_path,
+ self.floating_image)
+
+ chooser.pick(parent=self.abiword_canvas.get_toplevel(),
+ what=chooser.IMAGE, cb=cb)
diff --git a/toolbar.py b/toolbar.py
index 85ec312..9a924d3 100644
--- a/toolbar.py
+++ b/toolbar.py
@@ -27,13 +27,14 @@ from urlparse import urlparse
from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.toolcombobox import ToolComboBox
+from sugar.graphics.colorbutton import ColorToolButton
+from sugar.graphics.toggletoolbutton import ToggleToolButton
from sugar.graphics import iconentry
from sugar.graphics import style
from sugar.activity.widgets import CopyButton
from sugar.activity.widgets import PasteButton
from sugar.activity.widgets import UndoButton
from sugar.activity.widgets import RedoButton
-from port import chooser
from widgets import AbiButton
from widgets import FontCombo
@@ -249,43 +250,12 @@ class InsertToolbar(gtk.Toolbar):
'clicked', self._table_delete_cols_cb)
self.insert(self._table_delete_cols, -1)
- separator = gtk.SeparatorToolItem()
- self.insert(separator, -1)
-
- image = ToolButton('insert-picture')
- image.set_tooltip(_('Insert Image'))
- self._image_id = image.connect('clicked', self._image_cb)
- self.insert(image, -1)
-
- palette = image.get_palette()
- content_box = gtk.VBox()
- palette.set_content(content_box)
- image_floating_checkbutton = gtk.CheckButton(_('Floating'))
- image_floating_checkbutton.connect('toggled',
- self._image_floating_checkbutton_toggled_cb)
- content_box.pack_start(image_floating_checkbutton)
- content_box.show_all()
- self.floating_image = False
-
self.show_all()
self._abiword_canvas.connect('table-state', self._isTable_cb)
#self._abiword_canvas.connect('image-selected',
# self._image_selected_cb)
- def _image_floating_checkbutton_toggled_cb(self, checkbutton):
- self.floating_image = checkbutton.get_active()
-
- def _image_cb(self, button):
-
- def cb(object):
- logging.debug('ObjectChooser: %r' % object)
- self._abiword_canvas.insert_image(object.file_path,
- self.floating_image)
-
- chooser.pick(parent=self._abiword_canvas.get_toplevel(),
- what=chooser.IMAGE, cb=cb)
-
def _table_cb(self, abi, rows, cols):
self._abiword_canvas.insert_table(rows, cols)
@@ -438,11 +408,58 @@ class TextToolbar(gtk.Toolbar):
font_size = ToolComboBox(FontSizeCombo(abiword_canvas))
self.insert(font_size, -1)
+ bold = ToggleToolButton('format-text-bold')
+ bold.set_tooltip(_('Bold'))
+ bold_id = bold.connect('clicked', lambda sender:
+ abiword_canvas.toggle_bold())
+ abiword_canvas.connect('bold', lambda abi, b:
+ self._setToggleButtonState(bold, b, bold_id))
+ self.insert(bold, -1)
+
+ italic = ToggleToolButton('format-text-italic')
+ italic.set_tooltip(_('Italic'))
+ italic_id = italic.connect('clicked', lambda sender:
+ abiword_canvas.toggle_italic())
+ abiword_canvas.connect('italic', lambda abi, b:
+ self._setToggleButtonState(italic, b, italic_id))
+ self.insert(italic, -1)
+
+ underline = ToggleToolButton('format-text-underline')
+ underline.set_tooltip(_('Underline'))
+ underline_id = underline.connect('clicked', lambda sender:
+ abiword_canvas.toggle_underline())
+ abiword_canvas.connect('underline', lambda abi, b:
+ self._setToggleButtonState(underline, b, underline_id))
+ self.insert(underline, -1)
+
+ separator = gtk.SeparatorToolItem()
+ self.insert(separator, -1)
+
+ color = ColorToolButton()
+ color.connect('notify::color', self._text_color_cb,
+ abiword_canvas)
+ tool_item = gtk.ToolItem()
+ tool_item.add(color)
+ self.insert(tool_item, -1)
+ abiword_canvas.connect('color', lambda abi, r, g, b:
+ color.set_color(gtk.gdk.Color(r * 256, g * 256, b * 256)))
+
# MAGIC NUMBER WARNING: Secondary toolbars are not a standard height?
self.set_size_request(-1, style.GRID_CELL_SIZE)
self.show_all()
+ def _setToggleButtonState(self, button, b, id):
+ button.handler_block(id)
+ button.set_active(b)
+ button.handler_unblock(id)
+
+ def _text_color_cb(self, button, pspec, abiword_canvas):
+ newcolor = button.get_color()
+ abiword_canvas.set_text_color(int(newcolor.red / 256.0),
+ int(newcolor.green / 256.0),
+ int(newcolor.blue / 256.0))
+
class ParagraphToolbar(gtk.Toolbar):