hold on zoom mode menu entry to set default zoom mode

pull/688/head
chrox 10 years ago
parent 7ba0a46098
commit a92ca26bea

@ -14,8 +14,12 @@ end
function ReaderKoptListener:onReadSettings(config)
-- normal zoom mode is zoom mode used in non-reflow mode.
self.normal_zoom_mode = config:readSetting("normal_zoom_mode") or "page"
self.normal_zoom_mode = config:readSetting("normal_zoom_mode") or
G_reader_settings:readSetting("zoom_mode") or "page"
self:setZoomMode(self.normal_zoom_mode)
self.document.configurable.contrast = config:readSetting("kopt_contrast") or
G_reader_settings:readSetting("kopt_contrast") or 1.0
self.ui:handleEvent(Event:new("GammaUpdate", 1/self.document.configurable.contrast))
end
function ReaderKoptListener:onSaveSettings()
@ -40,7 +44,7 @@ function ReaderKoptListener:onFineTuningFontSize(delta)
end
function ReaderKoptListener:onZoomUpdate(zoom)
-- an exceptional case is reflow mode
-- an exceptional case is reflow mode
if self.document.configurable.text_wrap == 1 then
self.view.state.zoom = 1.0
end
@ -48,7 +52,7 @@ end
-- misc koptoption handler
function ReaderKoptListener:onDocLangUpdate(lang)
if lang == "chi_sim" or lang == "chi_tra" or
if lang == "chi_sim" or lang == "chi_tra" or
lang == "jpn" or lang == "kor" then
self.document.configurable.word_spacing = DKOPTREADER_CONFIG_WORD_SAPCINGS[1]
else

@ -1,9 +1,11 @@
local InputContainer = require("ui/widget/container/inputcontainer")
local ConfirmBox = require("ui/widget/confirmbox")
local GestureRange = require("ui/gesturerange")
local UIManager = require("ui/uimanager")
local Device = require("ui/device")
local Input = require("ui/input")
local Screen = require("ui/screen")
local Geom = require("ui/geometry")
local GestureRange = require("ui/gesturerange")
local Event = require("ui/event")
local DEBUG = require("dbg")
local _ = require("gettext")
@ -103,10 +105,9 @@ function ReaderZooming:onReadSettings(config)
-- @TODO config file from old code base uses globalzoom_mode
-- instead of zoom_mode, we need to handle this imcompatibility
-- 04.12 2012 (houqp)
local zoom_mode = config:readSetting("zoom_mode")
if not zoom_mode then
zoom_mode = self.DEFAULT_ZOOM_MODE
end
local zoom_mode = config:readSetting("zoom_mode") or
G_reader_settings:readSetting("zoom_mode") or
self.DEFAULT_ZOOM_MODE
self:setZoomMode(zoom_mode)
end
@ -294,36 +295,51 @@ function ReaderZooming:addToMainMenu(tab_item_table)
{
text = _("Zoom to fit content width"),
checked_func = function() return self.zoom_mode == "contentwidth" end,
callback = self:genSetZoomModeCallBack("contentwidth")
callback = self:genSetZoomModeCallBack("contentwidth"),
hold_callback = function() self:makeDefault("contentwidth") end,
},
{
text = _("Zoom to fit content height"),
checked_func = function() return self.zoom_mode == "contentheight" end,
callback = self:genSetZoomModeCallBack("contentheight")
callback = self:genSetZoomModeCallBack("contentheight"),
hold_callback = function() self:makeDefault("contentheight") end,
},
{
text = _("Zoom to fit page width"),
checked_func = function() return self.zoom_mode == "pagewidth" end,
callback = self:genSetZoomModeCallBack("pagewidth")
callback = self:genSetZoomModeCallBack("pagewidth"),
hold_callback = function() self:makeDefault("pagewidth") end,
},
{
text = _("Zoom to fit page height"),
checked_func = function() return self.zoom_mode == "pageheight" end,
callback = self:genSetZoomModeCallBack("pageheight")
callback = self:genSetZoomModeCallBack("pageheight"),
hold_callback = function() self:makeDefault("pageheight") end,
},
{
text = _("Zoom to fit content"),
checked_func = function() return self.zoom_mode == "content" end,
callback = self:genSetZoomModeCallBack("content")
callback = self:genSetZoomModeCallBack("content"),
hold_callback = function() self:makeDefault("content") end,
},
{
text = _("Zoom to fit page"),
checked_func = function() return self.zoom_mode == "page" end,
callback = self:genSetZoomModeCallBack("page")
callback = self:genSetZoomModeCallBack("page"),
hold_callback = function() self:makeDefault("page") end,
},
}
})
end
end
function ReaderZooming:makeDefault(zoom_mode)
UIManager:show(ConfirmBox:new{
text = _("Set default zoom mode to \"")..zoom_mode.."\"?",
ok_callback = function()
G_reader_settings:saveSetting("zoom_mode", zoom_mode)
end,
})
end
return ReaderZooming

Loading…
Cancel
Save