mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
add page margin options in CREOptions
This commit is contained in:
@@ -223,6 +223,10 @@ function CreDocument:setEmbeddedStyleSheet(toggle)
|
||||
self._document:setEmbeddedStyleSheet(toggle)
|
||||
end
|
||||
|
||||
function CreDocument:setPageMargins(left, top, right, bottom)
|
||||
self._document:setPageMargins(left, top, right, bottom)
|
||||
end
|
||||
|
||||
DocumentRegistry:addProvider("txt", "application/txt", CreDocument)
|
||||
DocumentRegistry:addProvider("epub", "application/epub", CreDocument)
|
||||
DocumentRegistry:addProvider("html", "application/html", CreDocument)
|
||||
|
||||
@@ -28,6 +28,23 @@ CreOptions = {
|
||||
default_arg = nil,
|
||||
event = "ChangeLineSpace",
|
||||
},
|
||||
{
|
||||
name = "page_margins",
|
||||
name_text = PAGE_MARGIN_STR,
|
||||
toggle = {SMALL_STR, MEDIUM_STR, LARGE_STR},
|
||||
values = {
|
||||
{6, 5, 2, 5},
|
||||
{15, 10, 10, 10},
|
||||
{25, 10, 20, 10},
|
||||
},
|
||||
default_value = {15, 10, 10, 10},
|
||||
args = {
|
||||
{6, 5, 2, 5},
|
||||
{15, 10, 10, 10},
|
||||
{25, 10, 20, 10},
|
||||
},
|
||||
event = "SetPageMargins",
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -87,8 +104,8 @@ CreOptions = {
|
||||
name_text = EMBEDDED_STYLE_STR,
|
||||
toggle = {ON_STR, OFF_STR},
|
||||
values = {1, 0},
|
||||
default_value = 0,
|
||||
args = {1, 0},
|
||||
default_value = 1,
|
||||
args = {true, false},
|
||||
default_arg = nil,
|
||||
event = "ToggleEmbeddedStyleSheet",
|
||||
},
|
||||
|
||||
@@ -28,7 +28,7 @@ end
|
||||
|
||||
function Configurable:loadSettings(settings, prefix)
|
||||
for key,value in pairs(self) do
|
||||
if type(value) == "number" then
|
||||
if type(value) == "number" or type(value) == "table" then
|
||||
saved_value = settings:readSetting(prefix..key)
|
||||
self[key] = (saved_value == nil) and self[key] or saved_value
|
||||
--Debug("Configurable:loadSettings", "key", key, "saved value", saved_value,"Configurable.key", self[key])
|
||||
@@ -39,7 +39,7 @@ end
|
||||
|
||||
function Configurable:saveSettings(settings, prefix)
|
||||
for key,value in pairs(self) do
|
||||
if type(value) == "number" then
|
||||
if type(value) == "number" or type(value) == "table" then
|
||||
settings:saveSetting(prefix..key, value)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
|
||||
ReaderCoptListener = EventListener:new{}
|
||||
|
||||
function ReaderKoptListener:onReadSettings(config)
|
||||
function ReaderCoptListener:onReadSettings(config)
|
||||
local embedded_css = config:readSetting("copt_embedded_css")
|
||||
if embedded_css == 1 then
|
||||
if embedded_css == 0 then
|
||||
table.insert(self.ui.postInitCallback, function()
|
||||
self.ui:handleEvent(Event:new("ToggleEmbeddedStyleSheet"))
|
||||
self.ui:handleEvent(Event:new("ToggleEmbeddedStyleSheet", false))
|
||||
end)
|
||||
end
|
||||
|
||||
local view_mode = config:readSetting("copt_view_mode")
|
||||
if view_mode == 0 then
|
||||
table.insert(self.ui.postInitCallback, function()
|
||||
@@ -18,4 +19,18 @@ function ReaderKoptListener:onReadSettings(config)
|
||||
self.ui:handleEvent(Event:new("SetViewMode", "scroll"))
|
||||
end)
|
||||
end
|
||||
|
||||
local copt_font_size = config:readSetting("copt_font_size")
|
||||
if copt_font_size then
|
||||
table.insert(self.ui.postInitCallback, function()
|
||||
self.ui:handleEvent(Event:new("SetFontSize", copt_font_size))
|
||||
end)
|
||||
end
|
||||
|
||||
local copt_margins = config:readSetting("copt_page_margins")
|
||||
if copt_margins then
|
||||
table.insert(self.ui.postInitCallback, function()
|
||||
self.ui:handleEvent(Event:new("SetPageMargins", copt_margins))
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -547,6 +547,15 @@ function ReaderView:onSetViewMode(new_mode)
|
||||
return true
|
||||
end
|
||||
|
||||
function ReaderView:onSetPageMargins(margins)
|
||||
local left = margins[1]
|
||||
local top = margins[2]
|
||||
local right = margins[3]
|
||||
local bottom = margins[4]
|
||||
self.ui.document:setPageMargins(left, top, right, bottom)
|
||||
return true
|
||||
end
|
||||
|
||||
function ReaderView:onCloseDocument()
|
||||
self.ui.doc_settings:saveSetting("render_mode", self.render_mode)
|
||||
self.ui.doc_settings:saveSetting("screen_mode", self.screen_mode)
|
||||
|
||||
Reference in New Issue
Block a user