From 08f71225c335c3f6e1db08f8d71668f86066e3c9 Mon Sep 17 00:00:00 2001 From: Reinier Heeres Date: Fri, 11 Jan 2008 14:36:49 +0000 Subject: Call update_view_size (tomeu), #5866 --- diff --git a/readactivity.py b/readactivity.py index 72250ec..c742a42 100644 --- a/readactivity.py +++ b/readactivity.py @@ -96,6 +96,8 @@ class ReadActivity(activity.Activity): self._read_toolbar.show() self._view_toolbar = ViewToolbar(self._view) + self._view_toolbar.connect('needs-update-size', + self.__view_toolbar_needs_update_size_cb) toolbox.add_toolbar(_('View'), self._view_toolbar) self._view_toolbar.show() @@ -313,11 +315,13 @@ class ReadActivity(activity.Activity): sizing_mode = self.metadata.get('Read_sizing_mode', 'fit-width') if sizing_mode == "best-fit": self._view.props.sizing_mode = evince.SIZING_BEST_FIT + self._view.update_view_size(self.canvas) elif sizing_mode == "free": self._view.props.sizing_mode = evince.SIZING_FREE self._view.props.zoom = float(self.metadata.get('Read_zoom', '1.0')) elif sizing_mode == "fit-width": self._view.props.sizing_mode = evince.SIZING_FIT_WIDTH + self._view.update_view_size(self.canvas) else: # this may happen when we get a document from a buddy with a later # version of Read, for example. @@ -411,3 +415,6 @@ class ReadActivity(activity.Activity): keyname = gtk.gdk.keyval_name(event.keyval) logging.debug("Keyname Release: %s, time: %s", keyname, event.time) + def __view_toolbar_needs_update_size_cb(self, view_toolbar): + self._view.update_view_size(self.canvas) + diff --git a/readtoolbar.py b/readtoolbar.py index 378a4be..332e4fa 100644 --- a/readtoolbar.py +++ b/readtoolbar.py @@ -252,6 +252,12 @@ class ReadToolbar(gtk.Toolbar): class ViewToolbar(gtk.Toolbar): __gtype_name__ = 'ViewToolbar' + __gsignals__ = { + 'needs-update-size': (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, + ([])) + } + def __init__(self, evince_view): gtk.Toolbar.__init__(self) @@ -341,6 +347,7 @@ class ViewToolbar(gtk.Toolbar): def _zoom_to_width_cb(self, button): self._evince_view.props.sizing_mode = evince.SIZING_FIT_WIDTH + self.emit('needs-update-size') self._update_zoom_buttons() def _update_zoom_buttons(self): @@ -349,6 +356,7 @@ class ViewToolbar(gtk.Toolbar): def _zoom_to_fit_menu_item_activate_cb(self, menu_item): self._evince_view.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): -- cgit v0.9.1