diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-07-21 23:57:00 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-07-21 23:57:00 (GMT) |
commit | 715598c56b7b247bd888060f9cb2a94bdd2e65bd (patch) | |
tree | a0dd163a6dffee398dd99a67e8cac80ba24d855e | |
parent | 0b5e7b6fd4d633fe62f5d65ccaa7c3acb79c3c5e (diff) |
removed spinner on XO hardwarev7
-rw-r--r-- | RulerActivity.py | 84 | ||||
-rw-r--r-- | show_angles.py | 17 | ||||
-rw-r--r-- | show_rulers.py | 3 |
3 files changed, 59 insertions, 45 deletions
diff --git a/RulerActivity.py b/RulerActivity.py index ac30be6..4c2cf6e 100644 --- a/RulerActivity.py +++ b/RulerActivity.py @@ -113,14 +113,16 @@ class RulerActivity(activity.Activity): _height = gtk.gdk.screen_height()-GRID_CELL_SIZE # Read the dpi from the Journal - try: - dpi = self.metadata['dpi'] - _logger.debug("Read dpi: " + str(dpi)) - self._canvas.set_dpi(int(dpi)) - except ValueError: - if get_hardware()[0:2] == 'XO': - self._canvas.set_dpi(200) # OLPC XO - else: + if get_hardware()[0:2] == 'XO': + self._canvas.set_dpi(200) # OLPC XO + self.known_dpi = True + else: + self.known_dpi = False + try: + dpi = self.metadata['dpi'] + _logger.debug("Read dpi: " + str(dpi)) + self._canvas.set_dpi(int(dpi)) + except KeyError: self._canvas.set_dpi(96) # Just a guess # Create instances of our graphics @@ -187,21 +189,22 @@ class RulerActivity(activity.Activity): toolbar_box.toolbar.insert(self.checker, -1) self.checker.show() - separator = gtk.SeparatorToolItem() - separator.show() - toolbar_box.toolbar.insert(separator, -1) - - dpi = self._canvas.get_dpi() - self._dpi_spin_adj = gtk.Adjustment(dpi, 72, 200, 2, 32, 0) - self._dpi_spin = gtk.SpinButton(self._dpi_spin_adj, 0, 0) - self._dpi_spin_id = self._dpi_spin.connect('value-changed', - self._dpi_spin_cb) - self._dpi_spin.set_numeric(True) - self._dpi_spin.show() - self.tool_item_dpi = gtk.ToolItem() - self.tool_item_dpi.add(self._dpi_spin) - toolbar_box.toolbar.insert(self.tool_item_dpi, -1) - self.tool_item_dpi.show() + if not self.known_dpi: + separator = gtk.SeparatorToolItem() + separator.show() + toolbar_box.toolbar.insert(separator, -1) + + dpi = self._canvas.get_dpi() + self._dpi_spin_adj = gtk.Adjustment(dpi, 72, 200, 2, 32, 0) + self._dpi_spin = gtk.SpinButton(self._dpi_spin_adj, 0, 0) + self._dpi_spin_id = self._dpi_spin.connect('value-changed', + self._dpi_spin_cb) + self._dpi_spin.set_numeric(True) + self._dpi_spin.show() + self.tool_item_dpi = gtk.ToolItem() + self.tool_item_dpi.add(self._dpi_spin) + toolbar_box.toolbar.insert(self.tool_item_dpi, -1) + self.tool_item_dpi.show() separator = gtk.SeparatorToolItem() separator.props.draw = False @@ -322,21 +325,22 @@ class ProjectToolbar(gtk.Toolbar): self.insert(self.activity.checker, -1) self.activity.checker.show() - separator = gtk.SeparatorToolItem() - separator.set_draw(True) - self.insert(separator, -1) - separator.show() - - dpi = self.activity._canvas.get_dpi() - self.activity._dpi_spin_adj = gtk.Adjustment(dpi, 72, 200, 2, 32, 0) - self.activity._dpi_spin = \ - gtk.SpinButton(self.activity._dpi_spin_adj, 0, 0) - self.activity._dpi_spin_id = self.activity._dpi_spin.connect( - 'value-changed', self.activity._dpi_spin_cb) - self.activity._dpi_spin.set_numeric(True) - self.activity._dpi_spin.show() - self.activity.tool_item_dpi = gtk.ToolItem() - self.activity.tool_item_dpi.add(self.activity._dpi_spin) - self.insert(self.activity.tool_item_dpi, -1) - self.activity.tool_item_dpi.show() + if not self.activity.known_dpi: + separator = gtk.SeparatorToolItem() + separator.set_draw(True) + self.insert(separator, -1) + separator.show() + + dpi = self.activity._canvas.get_dpi() + self.activity._dpi_spin_adj = gtk.Adjustment(dpi, 72, 200, 2, 32, 0) + self.activity._dpi_spin = \ + gtk.SpinButton(self.activity._dpi_spin_adj, 0, 0) + self.activity._dpi_spin_id = self.activity._dpi_spin.connect( + 'value-changed', self.activity._dpi_spin_cb) + self.activity._dpi_spin.set_numeric(True) + self.activity._dpi_spin.show() + self.activity.tool_item_dpi = gtk.ToolItem() + self.activity.tool_item_dpi.add(self.activity._dpi_spin) + self.insert(self.activity.tool_item_dpi, -1) + self.activity.tool_item_dpi.show() diff --git a/show_angles.py b/show_angles.py index f4f2c08..9af0cee 100644 --- a/show_angles.py +++ b/show_angles.py @@ -20,7 +20,8 @@ import cairo from math import pi, sin, cos -from util import mm, dimensions_mm, set_background_color, set_color +from util import mm, dimensions_mm, set_background_color, set_color, \ + get_hardware from colorsys import * #XXX @@ -37,16 +38,20 @@ class Angles90(): self.font_bold = font_bold self.w = w self.h = h + self.hw = get_hardware() def draw(self, c, dpi): set_background_color(c, self.w, self.h) c.set_antialias(cairo.ANTIALIAS_GRAY) nw, nh = dimensions_mm(dpi, self.w, self.h) - scale = 500./nh + if self.hw[0:2] == 'XO': + scale = 1. + else: + scale = 500./nh ox = mm(dpi, 0) - oy = mm(dpi, nh) + oy = mm(dpi, 99 * scale) d = mm(dpi, 90 * scale) def xy(angle, m=d): @@ -96,13 +101,17 @@ class Angles360(): self.font_bold = font_bold self.w = w self.h = h + self.hw = get_hardware() def draw(self, c, dpi): set_background_color(c, self.w, self.h) c.set_antialias(cairo.ANTIALIAS_GRAY) nw, nh = dimensions_mm(dpi, self.w, self.h) - scale = 500./nh + if self.hw[0:2] == 'XO': + scale = 1. + else: + scale = 500./nh ox = mm(dpi, nw / 2) oy = mm(dpi, nh / 2) diff --git a/show_rulers.py b/show_rulers.py index d86f879..2a902e7 100644 --- a/show_rulers.py +++ b/show_rulers.py @@ -28,6 +28,7 @@ class ScreenOfRulers(): self.font_bold = font_bold self.w = w self.h = h + self.hw = get_hardware() def draw(self, c, dpi): set_background_color(c, self.w, self.h) @@ -38,7 +39,7 @@ class ScreenOfRulers(): self.draw_ruler_pair(c, dpi, mm(dpi, 20)) # only calculate offsets if on an OLPC XO-1 - if get_hardware()[0:2] == 'XO': + if self.hw[0:2] == 'XO': offset_of_xo_side_from_screen = mm(dpi, -38.5) #XXX needs checking c.move_to(offset_of_xo_side_from_screen, mm(dpi, 65)) self.draw_cm_ruler(c, dpi, 180) |