From 65a73de93e6fda22d8f0b885579023fb0bc0b488 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Sat, 22 Jan 2011 19:49:03 +0000 Subject: Restore zoom while switching back from fullscreen --- diff --git a/ImageViewerActivity.py b/ImageViewerActivity.py index e15e559..f104152 100644 --- a/ImageViewerActivity.py +++ b/ImageViewerActivity.py @@ -114,8 +114,6 @@ class ImageViewerActivity(activity.Activity): self.set_toolbar_box(toolbar_box) toolbar_box.show() - self.connect('window-state-event', self.__window_state_event_cb) - vadj = gtk.Adjustment() hadj = gtk.Adjustment() self.sw = gtk.ScrolledWindow(hadj, vadj) @@ -153,6 +151,19 @@ class ImageViewerActivity(activity.Activity): def handle_view_source(self): pass + def fullscreen(self): + self._old_zoom = self.view.get_property('zoom') #XXX: Hack + # Zoom to fit screen if possible + screen = self.get_screen() + zoom = self.view.calculate_optimal_zoom( + screen.get_width(), screen.get_height()) + self.view.set_zoom(zoom) + activity.Activity.fullscreen(self) + + def unfullscreen(self): + self.view.set_zoom(self._old_zoom) + activity.Activity.unfullscreen(self) + def _add_toolbar_buttons(self, toolbar_box): activity_button = ActivityToolbarButton(self) toolbar_box.toolbar.insert(activity_button, 0) @@ -248,13 +259,6 @@ class ImageViewerActivity(activity.Activity): self.view.set_angle(angle - 90) def __fullscreen_cb(self, button): - self._old_zoom = self.view.get_property('zoom') #XXX: Hack - # Zoom to fit screen if possible - screen = self.get_screen() - zoom = self.view.calculate_optimal_zoom( - screen.get_width(), screen.get_height()) - self.view.set_zoom(zoom) - self.fullscreen() def _show_picker_cb(self): @@ -313,11 +317,6 @@ class ImageViewerActivity(activity.Activity): self._close_requested = True return True - def __window_state_event_cb(self, window, event): - if event.changed_mask & gtk.gdk.WINDOW_STATE_FULLSCREEN: - if not self.window.get_state() & gtk.gdk.WINDOW_STATE_FULLSCREEN: - self.view.set_zoom(self._old_zoom) - def _download_result_cb(self, getter, tempfile, suggested_name, tube_id): if self._download_content_type == 'text/html': # got an error page instead -- cgit v0.9.1