Paged documents: rework zoom options (#6885)

- Move zoom options from top menu to bottom config
- Add option to manually define zoom (relative to
  page width) and overlap (in percent)
- Add options to zoom to columns or rows, possibly
  with overlap. Add panning direction options when
  page forward in these modes
This commit is contained in:
jperon
2020-11-28 17:18:57 +01:00
committed by GitHub
parent 52f66a89d2
commit 8eeb010dc9
37 changed files with 2189 additions and 232 deletions

View File

@@ -25,9 +25,6 @@ function ReaderCropping:onPageCrop(mode)
end
return
elseif mode == "none" then
if self.document.configurable.text_wrap ~= 1 then
self.ui:handleEvent(Event:new("SetZoomMode", "pagewidth", "cropping"))
end
return
end
-- backup original view dimen
@@ -51,7 +48,7 @@ function ReaderCropping:onPageCrop(mode)
-- mode, just force readerview to recalculate visible_area
self.view:recalculate()
else
self.ui:handleEvent(Event:new("SetZoomMode", "page", "cropping"))
self.ui:handleEvent(Event:new("SetZoomMode", "page"))
end
-- prepare bottom buttons so we know the size available for the page above it
@@ -152,11 +149,11 @@ end
function ReaderCropping:setCropZoomMode(confirmed)
if confirmed then
-- if original zoom mode is not "content", set zoom mode to "contentwidth"
self:setZoomMode(
self.orig_zoom_mode:find("content")
and self.orig_zoom_mode
or "contentwidth")
-- if original zoom mode is "page???", set zoom mode to "content???"
local zoom_mode_type = self.orig_zoom_mode:match("page(.*)")
self:setZoomMode(zoom_mode_type
and "content"..zoom_mode_type
or self.orig_zoom_mode)
self.ui:handleEvent(Event:new("InitScrollPageStates"))
else
self:setZoomMode(self.orig_zoom_mode)