Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/RulerActivity.py
diff options
context:
space:
mode:
Diffstat (limited to 'RulerActivity.py')
-rw-r--r--RulerActivity.py84
1 files changed, 44 insertions, 40 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()