add djvu render mode options in readermenu

This commit is contained in:
chrox
2014-10-15 20:31:24 +08:00
parent 12914a01f3
commit d30709edb0
3 changed files with 30 additions and 3 deletions

View File

@@ -112,6 +112,9 @@ function ReaderMenu:setUpdateItemTable()
end
})
table.insert(self.tab_item_table.setting, Language:getLangMenuTable())
if self.ui.document.is_djvu then
table.insert(self.tab_item_table.setting, self.view:getRenderModeMenuTable())
end
table.insert(self.tab_item_table.setting, {
text = _("Show advanced options"),
checked_func = function() return G_reader_settings:readSetting("show_advanced") end,

View File

@@ -1,12 +1,13 @@
local ReaderFlipping = require("apps/reader/modules/readerflipping")
local ReaderFooter = require("apps/reader/modules/readerfooter")
local ReaderDogear = require("apps/reader/modules/readerdogear")
local OverlapGroup = require("ui/widget/overlapgroup")
local UIManager = require("ui/uimanager")
local Screen = require("ui/screen")
local Geom = require("ui/geometry")
local Event = require("ui/event")
local DEBUG = require("dbg")
local ReaderFlipping = require("apps/reader/modules/readerflipping")
local ReaderFooter = require("apps/reader/modules/readerfooter")
local ReaderDogear = require("apps/reader/modules/readerdogear")
local _ = require("gettext")
local ReaderView = OverlapGroup:new{
document = nil,
@@ -671,4 +672,26 @@ function ReaderView:autoSaveSettings()
end
end
function ReaderView:getRenderModeMenuTable()
local view = self
local function make_mode(text, mode)
return {
text = text,
checked_func = function() return view.render_mode == mode end,
callback = function() view.render_mode = mode end,
}
end
return {
text = _("DjVu render mode"),
sub_item_table = {
make_mode(_("COLOUR (works for both colour and b&w pages)"), 0),
make_mode(_("BLACK & WHITE (for b&w pages only, much faster)"), 1),
make_mode(_("COLOUR ONLY (slightly faster than COLOUR)"), 2),
make_mode(_("MASK ONLY (for b&w pages only)"), 3),
make_mode(_("COLOUR BACKGROUND (show only background)"), 4),
make_mode(_("COLOUR FOREGROUND (show only foreground)"), 5),
}
}
end
return ReaderView

View File

@@ -9,6 +9,7 @@ local Configurable = require("configurable")
local DjvuDocument = Document:new{
_document = false,
-- libdjvulibre manages its own additional cache, default value is hard written in c module.
is_djvu = true,
djvulibre_cache_size = nil,
dc_null = DrawContext.new(),
options = KoptOptions,