mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
readerzoomin: add zoom mode translation, simplify zoom mode validation
This commit is contained in:
@@ -8,7 +8,6 @@ local InputContainer = require("ui/widget/container/inputcontainer")
|
||||
local SpinWidget = require("ui/widget/spinwidget")
|
||||
local UIManager = require("ui/uimanager")
|
||||
local logger = require("logger")
|
||||
local util = require("util")
|
||||
local _ = require("gettext")
|
||||
local Input = Device.input
|
||||
local Screen = Device.screen
|
||||
@@ -27,6 +26,17 @@ local ReaderZooming = InputContainer:extend{
|
||||
"rows",
|
||||
"manual",
|
||||
},
|
||||
zoom_mode_label = { -- const
|
||||
page = _("page") .. " - " .. _("full"),
|
||||
pagewidth = _("page") .. " - " .. _("width"),
|
||||
pageheight = _("page") .. " - " .. _("height"),
|
||||
content = _("content") .. " - " .. _("full"),
|
||||
contentwidth = _("content") .. " - " .. _("width"),
|
||||
contentheight = _("content") .. " - " .. _("height"),
|
||||
columns = _("columns"),
|
||||
rows = _("rows"),
|
||||
manual = _("manual"),
|
||||
},
|
||||
zoom_genus_to_mode = { -- const
|
||||
[4] = "page",
|
||||
[3] = "content",
|
||||
@@ -201,9 +211,7 @@ function ReaderZooming:onReadSettings(config)
|
||||
local zoom_mode = config:readSetting("zoom_mode")
|
||||
if zoom_mode then
|
||||
-- Validate it first
|
||||
zoom_mode = util.arrayContains(self.available_zoom_modes, zoom_mode)
|
||||
and zoom_mode
|
||||
or self.DEFAULT_ZOOM_MODE
|
||||
zoom_mode = self.zoom_mode_label[zoom_mode] and zoom_mode or self.DEFAULT_ZOOM_MODE
|
||||
|
||||
-- Make sure the split genus & type match, to have an up-to-date ConfigDialog...
|
||||
local zoom_mode_genus, zoom_mode_type = self:_updateConfigurable(zoom_mode)
|
||||
@@ -220,9 +228,7 @@ function ReaderZooming:onReadSettings(config)
|
||||
end
|
||||
|
||||
-- Validate it
|
||||
zoom_mode = util.arrayContains(self.available_zoom_modes, zoom_mode)
|
||||
and zoom_mode
|
||||
or self.DEFAULT_ZOOM_MODE
|
||||
zoom_mode = self.zoom_mode_label[zoom_mode] and zoom_mode or self.DEFAULT_ZOOM_MODE
|
||||
end
|
||||
|
||||
-- Import legacy zoom_factor settings
|
||||
@@ -354,7 +360,7 @@ function ReaderZooming:onDefineZoom(btn, when_applied_callback)
|
||||
zoom_mode = zoom_mode_genus
|
||||
self.ui:handleEvent(Event:new("SetScrollMode", false))
|
||||
end
|
||||
zoom_mode = util.arrayContains(self.available_zoom_modes, zoom_mode) and zoom_mode or self.DEFAULT_ZOOM_MODE
|
||||
zoom_mode = self.zoom_mode_label[zoom_mode] and zoom_mode or self.DEFAULT_ZOOM_MODE
|
||||
settings.zoom_mode = zoom_mode
|
||||
|
||||
if settings.right_to_left then
|
||||
@@ -409,7 +415,7 @@ function ReaderZooming:onDefineZoom(btn, when_applied_callback)
|
||||
horizontal overlap: %3 %
|
||||
vertical overlap: %5 %
|
||||
zoom factor: %6]]),
|
||||
zoom_mode,
|
||||
self.zoom_mode_label[zoom_mode],
|
||||
("%.2f"):format(self:getNumberOf("columns", settings.zoom_overlap_h)),
|
||||
settings.zoom_overlap_h,
|
||||
("%.2f"):format(self:getNumberOf("rows", settings.zoom_overlap_v)),
|
||||
|
||||
Reference in New Issue
Block a user