diff options
author | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-10-17 00:35:02 (GMT) |
---|---|---|
committer | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-10-17 00:35:02 (GMT) |
commit | 163e6b5e8110e5106fa57dc9d1f4a825c1851e3a (patch) | |
tree | 5d4ffbb71534b470afd3751095b435c1f12684af /ImageViewerActivity.py | |
parent | 10bccb434a41a50299d595a97253af05502c703f (diff) |
Remove image vibration in zoom in (touch)
Signed-off-by: Agustin Zubiaga <aguz@sugarlabs.org>
Diffstat (limited to 'ImageViewerActivity.py')
-rw-r--r-- | ImageViewerActivity.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ImageViewerActivity.py b/ImageViewerActivity.py index f17d4cf..f0b7570 100644 --- a/ImageViewerActivity.py +++ b/ImageViewerActivity.py @@ -116,6 +116,7 @@ class ImageViewerActivity(activity.Activity): self._zoom_in_button = None self._fileserver = None self._fileserver_tube_id = None + self._scroll_pos = (0, 0) self.view = ImageView.ImageViewer() @@ -134,7 +135,9 @@ class ImageViewerActivity(activity.Activity): toolbar_box.show() vadj = Gtk.Adjustment() + vadj.connect('value-changed', self._scrolledwindow_moved) hadj = Gtk.Adjustment() + hadj.connect('value-changed', self._scrolledwindow_moved) self.sw = Gtk.ScrolledWindow(hadj, vadj) self.view.parent = self.sw # Avoid needless spacing @@ -208,6 +211,17 @@ class ImageViewerActivity(activity.Activity): # Wait for a successful join before trying to get the document self.connect("joined", self._joined_cb) + def _scrolledwindow_moved(self, adjustment): + hadj = self.sw.get_hadjustment() + vadj = self.sw.get_vadjustment() + + if not self._is_touching: + self._scroll_pos = (hadj.get_value(), vadj.get_value()) + else: + h, v = self._scroll_pos + hadj.set_value(h) + vadj.set_value(v) + def __scale_changed_cb(self, controller, scale): if scale != self._last_scale: self._last_scale = scale @@ -215,6 +229,7 @@ class ImageViewerActivity(activity.Activity): self.view._is_touching = True self.view.set_zoom_relative(scale) + self.view._is_touching = False def handle_view_source(self): raise NotImplementedError |