Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-07-21 23:57:00 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-07-21 23:57:00 (GMT)
commit715598c56b7b247bd888060f9cb2a94bdd2e65bd (patch)
treea0dd163a6dffee398dd99a67e8cac80ba24d855e
parent0b5e7b6fd4d633fe62f5d65ccaa7c3acb79c3c5e (diff)
removed spinner on XO hardwarev7
-rw-r--r--RulerActivity.py84
-rw-r--r--show_angles.py17
-rw-r--r--show_rulers.py3
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)