mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
fix #1070 by associating conentwidth zoom mode to auto cropping
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user