Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/develop-activity/sourceview_editor.py
diff options
context:
space:
mode:
Diffstat (limited to 'develop-activity/sourceview_editor.py')
-rw-r--r--develop-activity/sourceview_editor.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/develop-activity/sourceview_editor.py b/develop-activity/sourceview_editor.py
index 9e2cb77..c47bcc7 100644
--- a/develop-activity/sourceview_editor.py
+++ b/develop-activity/sourceview_editor.py
@@ -31,6 +31,9 @@ from sugar3.graphics.icon import Icon
from widgets import TabLabel
import logviewer
+FONT_CHANGE_STEP = 2
+DEFAULT_FONT_SIZE = 10
+
class S_WHERE:
selection, file, multifile = range(3) # an enum
@@ -50,6 +53,7 @@ class GtkSourceview2Editor(Gtk.Notebook):
self.set_scrollable(True)
self.theme_state = "light"
+ self.font_size = DEFAULT_FONT_SIZE
def theme_changed_cb(self, widget, theme_name):
self.theme_state = theme_name
@@ -61,6 +65,16 @@ class GtkSourceview2Editor(Gtk.Notebook):
else:
children[0].get_children()[0].set_theme(theme_name)
+ def font_changed_cb(self, widget, size):
+ self.font_size = size
+ for i in range(0, self.get_n_pages()):
+ page = self.get_nth_page(i)
+ children = page.get_children()
+ if isinstance(children[0], Icon):
+ children[1].get_children()[0].set_font_size(size)
+ else:
+ children[0].get_children()[0].set_font_size(size)
+
def _page_removed_cb(self, __notebook, page, n):
try:
page.page.remove()
@@ -88,6 +102,7 @@ class GtkSourceview2Editor(Gtk.Notebook):
page = GtkSourceview2Page(full_path)
page.set_theme(self.theme_state)
+ page.set_font_size(self.font_size)
vbox = Gtk.VBox()
if full_path.endswith('.svg'):
@@ -298,11 +313,15 @@ class GtkSourceview2Page(GtkSource.View):
self.set_tab_width(4)
self.set_auto_indent(True)
- self.modify_font(Pango.FontDescription('Monospace 10'))
-
self.load_text()
self.show()
+ def set_font_size(self, size):
+ desc = Pango.FontDescription(
+ 'Monospace %d' % size)
+ # print 'Monospace %d' % size
+ self.modify_font(desc)
+
def set_theme(self, theme):
if theme == "light":
self.text_buffer.set_style_scheme(self.light_theme)