Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AbiWordActivity.py6
-rw-r--r--toolbar.py23
-rw-r--r--widgets.py4
3 files changed, 30 insertions, 3 deletions
diff --git a/AbiWordActivity.py b/AbiWordActivity.py
index ed1a3f8..8e94205 100644
--- a/AbiWordActivity.py
+++ b/AbiWordActivity.py
@@ -207,6 +207,12 @@ class AbiWordActivity(activity.Activity):
self.abiword_canvas.invoke_cmd(
'com.abisource.abiword.loadbindings.fromURI',
keybindings_file, 0, 0)
+ # set default font
+ self.abiword_canvas.select_all()
+ # get_selection return content and length
+ if self.abiword_canvas.get_selection('text/plain')[1] == 0:
+ logging.error('Setting default font to Sans in new documents')
+ self.abiword_canvas.set_font_name('Sans')
def get_preview(self):
if not hasattr(self.abiword_canvas, 'render_page_to_image'):
diff --git a/toolbar.py b/toolbar.py
index 9a924d3..4af47ff 100644
--- a/toolbar.py
+++ b/toolbar.py
@@ -37,8 +37,8 @@ from sugar.activity.widgets import UndoButton
from sugar.activity.widgets import RedoButton
from widgets import AbiButton
-from widgets import FontCombo
from widgets import FontSizeCombo
+from fontcombobox import FontComboBox
logger = logging.getLogger('write-activity')
@@ -402,8 +402,13 @@ class TextToolbar(gtk.Toolbar):
def __init__(self, abiword_canvas):
gtk.Toolbar.__init__(self)
- font_name = ToolComboBox(FontCombo(abiword_canvas))
- self.insert(font_name, -1)
+ self.font_name_combo = FontComboBox()
+ self.font_name_combo.set_font_name('Sans')
+ self._fonts_changed_id = self.font_name_combo.connect('changed',
+ self._font_changed_cb, abiword_canvas)
+ self._abi_handler = abiword_canvas.connect('font-family',
+ self._font_family_cb)
+ self.insert(ToolComboBox(self.font_name_combo), -1)
font_size = ToolComboBox(FontSizeCombo(abiword_canvas))
self.insert(font_size, -1)
@@ -449,6 +454,18 @@ class TextToolbar(gtk.Toolbar):
self.show_all()
+ def _font_changed_cb(self, combobox, abi):
+ logger.debug('Setting font: %s', combobox.get_font_name())
+ try:
+ abi.handler_block(self._abi_handler)
+ abi.set_font_name(combobox.get_font_name())
+ finally:
+ abi.handler_unblock(self._abi_handler)
+
+ def _font_family_cb(self, abi, font_family):
+ logging.debug('Abiword font changed to %s', font_family)
+ self.font_name_combo.set_font_name(font_family)
+
def _setToggleButtonState(self, button, b, id):
button.handler_block(id)
button.set_active(b)
diff --git a/widgets.py b/widgets.py
index b79dbf7..0df2b7e 100644
--- a/widgets.py
+++ b/widgets.py
@@ -27,6 +27,9 @@ from sugar.datastore import datastore
logger = logging.getLogger('write-activity')
+"""
+# The FontCombo is not used anymore, keep the code here for reference
+# for a few versions
class FontCombo(ComboBox):
@@ -86,6 +89,7 @@ class FontCombo(ComboBox):
self.handler_block(self._fonts_changed_id)
self.set_active(font_index)
self.handler_unblock(self._fonts_changed_id)
+"""
class FontSizeCombo(ComboBox):