From be07843f458437af36d6e35a76a9f4d35add206a Mon Sep 17 00:00:00 2001 From: Manuel QuiƱones Date: Wed, 15 May 2013 03:15:16 +0000 Subject: Fix store zoom in metadata and object picker Also remove unneded method for View Source --- diff --git a/ImageView.py b/ImageView.py index f335e92..d3cfdb5 100644 --- a/ImageView.py +++ b/ImageView.py @@ -53,6 +53,13 @@ class ImageViewer(Gtk.DrawingArea): self._file_location = file_location self.queue_draw() + def set_zoom(self, zoom): + self._zoom = zoom + self.queue_draw() + + def get_zoom(self): + return self._zoom + def zoom_in(self): if self._zoom + ZOOM_STEP > ZOOM_MAX: return diff --git a/ImageViewerActivity.py b/ImageViewerActivity.py index 3085675..b45e36c 100644 --- a/ImageViewerActivity.py +++ b/ImageViewerActivity.py @@ -108,7 +108,6 @@ class ImageViewerActivity(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle) - self.zoom = None self._object_id = handle.object_id self._zoom_out_button = None @@ -210,9 +209,6 @@ class ImageViewerActivity(activity.Activity): self.view._touch_center = controller.get_center() self.view.set_zoom_relative(scale) - def handle_view_source(self): - raise NotImplementedError - def fullscreen(self): self.view.update_optimal_zoom() activity.Activity.fullscreen(self) @@ -326,6 +322,7 @@ class ImageViewerActivity(activity.Activity): if jobject and jobject.file_path: self.read_file(jobject.file_path) self.set_canvas(self.view) + self.view.show() finally: chooser.destroy() del chooser @@ -338,24 +335,17 @@ class ImageViewerActivity(activity.Activity): os.link(file_path, tempfile) self._tempfile = tempfile - GObject.idle_add(self.__set_file_idle_cb, tempfile) - def __set_file_idle_cb(self, file_path): - self.view.set_file_location(file_path) + self.view.set_file_location(tempfile) - try: - self.zoom = int(self.metadata.get('zoom', '0')) - if self.zoom > 0: - self.view.set_zoom(self.zoom) - except Exception: - pass - - return False + zoom = self.metadata.get('zoom', None) + if zoom is not None: + self.view.set_zoom(float(zoom)) def write_file(self, file_path): if self._tempfile: self.metadata['activity'] = self.get_bundle_id() - self.metadata['zoom'] = str(self.zoom) + self.metadata['zoom'] = str(self.view.get_zoom()) if self._close_requested: os.link(self._tempfile, file_path) os.unlink(self._tempfile) -- cgit v0.9.1