From 2f61b96748498b9a293bbb6e81999b057be12929 Mon Sep 17 00:00:00 2001 From: chrox Date: Fri, 11 Oct 2013 23:39:57 +0800 Subject: [PATCH] fix wrong zoom value after returning from cropping dialog --- frontend/ui/reader/readercropping.lua | 10 ++++------ frontend/ui/reader/readerzooming.lua | 7 +++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/frontend/ui/reader/readercropping.lua b/frontend/ui/reader/readercropping.lua index 1bb26dc92..d4e3df997 100644 --- a/frontend/ui/reader/readercropping.lua +++ b/frontend/ui/reader/readercropping.lua @@ -98,7 +98,7 @@ function ReaderCropping:onConfirmPageCrop() --DEBUG("new bbox", new_bbox) UIManager:close(self.crop_dialog) local new_bbox = self.bbox_widget:getModifiedPageBBox() - self.ui:handleEvent(Event:new("BBoxUpdate"), new_bbox) + self.ui:handleEvent(Event:new("BBoxUpdate", new_bbox)) local pageno = self.view.state.page self.document.bbox[pageno] = new_bbox self.document.bbox[math.oddEven(pageno)] = new_bbox @@ -119,16 +119,14 @@ function ReaderCropping:exitPageCrop(confirmed) self.view.page_scroll = self.orig_page_scroll -- restore view bgcolor self.view.outer_page_color = self.orig_view_bgcolor - -- restore view dimens - self.ui:handleEvent(Event:new("RestoreDimensions", self.orig_view_dimen)) -- restore reflow mode self.document.configurable.text_wrap = self.orig_reflow_mode + -- restore view dimens + self.ui:handleEvent(Event:new("RestoreDimensions", self.orig_view_dimen)) self.view:recalculate() -- Exiting should have the same look and feel with entering. if self.orig_reflow_mode == 1 then - -- restore original reflow mode - self.document.configurable.text_wrap = 1 - self.view:recalculate() + self.ui:handleEvent(Event:new("RestoreZoomMode")) else if confirmed then -- if original zoom mode is not "content", set zoom mode to "contentwidth" diff --git a/frontend/ui/reader/readerzooming.lua b/frontend/ui/reader/readerzooming.lua index 073818e39..2b57d02d3 100644 --- a/frontend/ui/reader/readerzooming.lua +++ b/frontend/ui/reader/readerzooming.lua @@ -122,6 +122,12 @@ function ReaderZooming:onSetDimensions(dimensions) self:setZoom() end +function ReaderZooming:onRestoreDimensions(dimensions) + -- we were resized + self.dimen = dimensions + self:setZoom() +end + function ReaderZooming:onRotationUpdate(rotation) self.rotation = rotation self:setZoom() @@ -176,6 +182,7 @@ function ReaderZooming:getZoom(pageno) -- otherwise, operate on full page self.view:onBBoxUpdate(nil) page_size = self.ui.document:getNativePageDimensions(pageno) + --page_size = self.ui.document:getPageDimensions(pageno, 1, 0) end -- calculate zoom value: local zoom_w = self.dimen.w / page_size.w