fix #1070 by associating conentwidth zoom mode to auto cropping

pull/1086/head
chrox 10 years ago
parent f0fba63f67
commit 405b8e0be2

@ -67,15 +67,18 @@ end
local ReaderCropping = InputContainer:new{}
function ReaderCropping:onPageCrop(mode)
if mode == "auto" then return end
self.ui:handleEvent(Event:new("CloseConfigMenu"))
-- backup original zoom mode as cropping use "page" zoom mode
self.orig_zoom_mode = self.view.zoom_mode
if mode == "auto" then
self:setCropZoomMode(true)
return
end
-- backup original view dimen
self.orig_view_dimen = Geom:new{w = self.view.dimen.w, h = self.view.dimen.h}
-- backup original view bgcolor
self.orig_view_bgcolor = self.view.outer_page_color
self.view.outer_page_color = Blitbuffer.gray(0.5) -- gray bgcolor
-- backup original zoom mode as cropping use "page" zoom mode
self.orig_zoom_mode = self.view.zoom_mode
-- backup original page scroll
self.orig_page_scroll = self.view.page_scroll
self.view.page_scroll = false
@ -143,18 +146,22 @@ function ReaderCropping:exitPageCrop(confirmed)
if self.orig_reflow_mode == 1 then
self.ui:handleEvent(Event:new("RestoreZoomMode"))
else
if confirmed then
-- if original zoom mode is not "content", set zoom mode to "contentwidth"
self.ui:handleEvent(Event:new("SetZoomMode",
self.orig_zoom_mode:find("content") and self.orig_zoom_mode or "contentwidth"))
self.ui:handleEvent(Event:new("InitScrollPageStates"))
else
self.ui:handleEvent(Event:new("SetZoomMode", self.orig_zoom_mode))
end
self:setCropZoomMode(confirmed)
end
UIManager.repaint_all = true
end
function ReaderCropping:setCropZoomMode(confirmed)
if confirmed then
-- if original zoom mode is not "content", set zoom mode to "contentwidth"
self.ui:handleEvent(Event:new("SetZoomMode",
self.orig_zoom_mode:find("content") and self.orig_zoom_mode or "contentwidth"))
self.ui:handleEvent(Event:new("InitScrollPageStates"))
else
self.ui:handleEvent(Event:new("SetZoomMode", self.orig_zoom_mode))
end
end
function ReaderCropping:onReadSettings(config)
self.document.bbox = config:readSetting("bbox")
end

Loading…
Cancel
Save