Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/readtoolbar.py
diff options
context:
space:
mode:
Diffstat (limited to 'readtoolbar.py')
-rw-r--r--readtoolbar.py82
1 files changed, 17 insertions, 65 deletions
diff --git a/readtoolbar.py b/readtoolbar.py
index 2785ed8..a51eff6 100644
--- a/readtoolbar.py
+++ b/readtoolbar.py
@@ -31,9 +31,6 @@ from sugar.graphics.menuitem import MenuItem
from sugar.graphics import iconentry
from sugar.activity import activity
-# Handle libevview 2.80's new API trac#1900
-_EVINCE_2_80 = hasattr(evince, 'document_factory_get_document')
-
class EditToolbar(activity.EditToolbar):
__gtype_name__ = 'EditToolbar'
@@ -248,67 +245,39 @@ class ViewToolbar(gtk.Toolbar):
self._fullscreen.show()
self._view_notify_zoom_handler = None
- self._view_notify_scale_handler = None
- def set_view(self, view):
+ def set_view(self, view, model):
+ self._evince_model = model
self._evince_view = view
- if _EVINCE_2_80:
- self._zoom_spin.props.value = self._evince_model.props.scale * 100
- self._view_notify_scale_handler = self._evince_model.connect(
- 'notify::scale', self._view_notify_scale_cb)
- else:
- self._zoom_spin.props.value = self._evince_view.props.zoom * 100
- self._view_notify_zoom_handler = self._evince_view.connect(
- 'notify::zoom', self._view_notify_zoom_cb)
+ self._zoom_spin.props.value = self._evince_model.props.scale * 100
+ self._view_notify_zoom_handler = self._evince_model.connect(
+ 'notify::scale', self._view_notify_zoom_cb)
self._update_zoom_buttons()
- def set_model(self, model):
- self._evince_model = model
-
def _zoom_spin_notify_value_cb(self, zoom_spin, pspec):
if not self._view_notify_zoom_handler:
return
- if _EVINCE_2_80:
- self._evince_model.disconnect(self._view_notify_scale_handler)
- else:
- self._evince_view.disconnect(self._view_notify_zoom_handler)
-
+ self._evince_model.disconnect(self._view_notify_zoom_handler)
try:
- if hasattr(self._evince_view.props, 'sizing_mode'):
- self._evince_view.props.sizing_mode = evince.SIZING_FREE
- if _EVINCE_2_80:
- self._evince_model.props.scale = zoom_spin.props.value / 100.0
- else:
- self._evince_view.props.zoom = zoom_spin.props.value / 100.0
+ self._evince_model.props.scale = zoom_spin.props.value / 100.0
finally:
- self._view_notify_zoom_handler = self._evince_view.connect(
- 'notify::zoom', self._view_notify_zoom_cb)
+ self._view_notify_zoom_handler = self._evince_model.connect(
+ 'notify::scale', self._view_notify_zoom_cb)
- def _view_notify_zoom_cb(self, evince_view, pspec):
- self._zoom_spin.disconnect(self._zoom_spin_notify_value_handler)
- try:
- self._zoom_spin.props.value = round(evince_view.props.zoom * 100.0)
- finally:
- self._zoom_spin_notify_value_handler = self._zoom_spin.connect(
- 'notify::value', self._zoom_spin_notify_value_cb)
-
- def _view_notify_scale_cb(self, evince_model, pspec):
+ def _view_notify_zoom_cb(self, evince_model, pspec):
self._zoom_spin.disconnect(self._zoom_spin_notify_value_handler)
try:
self._zoom_spin.props.value = round(evince_model.props.scale *
100.0)
finally:
self._zoom_spin_notify_value_handler = self._zoom_spin.connect(
- 'notify::value', self._zoom_spin_notify_value_cb)
+ 'notify::value', self._zoom_spin_notify_value_cb)
def zoom_in(self):
- if hasattr(self._evince_view.props, 'sizing_mode'):
- self._evince_view.props.sizing_mode = evince.SIZING_FREE
- if hasattr(self._evince_model.props, 'sizing-mode'):
- self._evince_model.set_property('sizing-mode', evince.SIZING_FREE)
+ self._evince_model.props.sizing_mode = evince.SIZING_FREE
self._evince_view.zoom_in()
self._update_zoom_buttons()
@@ -316,10 +285,7 @@ class ViewToolbar(gtk.Toolbar):
self.zoom_in()
def zoom_out(self):
- if hasattr(self._evince_view.props, 'sizing_mode'):
- self._evince_view.props.sizing_mode = evince.SIZING_FREE
- if hasattr(self._evince_model.props, 'sizing-mode'):
- self._evince_model.set_property('sizing-mode', evince.SIZING_FREE)
+ self._evince_model.props.sizing_mode = evince.SIZING_FREE
self._evince_view.zoom_out()
self._update_zoom_buttons()
@@ -327,11 +293,7 @@ class ViewToolbar(gtk.Toolbar):
self.zoom_out()
def zoom_to_width(self):
- if hasattr(self._evince_view.props, 'sizing_mode'):
- self._evince_view.props.sizing_mode = evince.SIZING_FIT_WIDTH
- if hasattr(self._evince_model.props, 'sizing-mode'):
- self._evince_model.set_property('sizing-mode',
- evince.SIZING_FIT_WIDTH)
+ self._evince_model.props.sizing_mode = evince.SIZING_FIT_WIDTH
self.emit('needs-update-size')
self._update_zoom_buttons()
@@ -343,23 +305,13 @@ class ViewToolbar(gtk.Toolbar):
self._zoom_out.props.sensitive = self._evince_view.can_zoom_out()
def _zoom_to_fit_menu_item_activate_cb(self, menu_item):
- if hasattr(self._evince_view.props, 'sizing_mode'): #XXX
- self._evince_view.props.sizing_mode = evince.SIZING_BEST_FIT
- if hasattr(self._evince_model.props, 'sizing-mode'):
- self._evince_model.set_property('sizing-mode',
- evince.SIZING_BEST_FIT)
+ self._evince_model.props.sizing_mode = evince.SIZING_BEST_FIT
self.emit('needs-update-size')
self._update_zoom_buttons()
def _actual_size_menu_item_activate_cb(self, menu_item):
- if hasattr(self._evince_view.props, 'sizing_mode'):
- self._evince_view.props.sizing_mode = evince.SIZING_FREE
- if hasattr(self._evince_model.props, 'sizing-mode'):
- self._evince_model.set_property('sizing-mode', evince.SIZING_FREE)
- if _EVINCE_2_80:
- self._evince_model.props.scale = 1.0
- else:
- self._evince_view.props.zoom = 1.0
+ self._evince_model.props.sizing_mode = evince.SIZING_FREE
+ self._evince_model.props.scale = 1.0
self._update_zoom_buttons()
def _fullscreen_cb(self, button):