add option to disable highlighting as well as dictionary lookup

This should also fix #973.
pull/1087/head
chrox 10 years ago
parent f0fba63f67
commit d5f6d743bd

@ -66,40 +66,44 @@ end
function ReaderHighlight:addToMainMenu(tab_item_table) function ReaderHighlight:addToMainMenu(tab_item_table)
-- insert table to main reader menu -- insert table to main reader menu
table.insert(tab_item_table.typeset, { table.insert(tab_item_table.typeset, {
text = _("Set highlight drawer "), text = _("Highlight"),
sub_item_table = self:genHighlightDrawerMenu(), sub_item_table = self:genHighlightDrawerMenu(),
}) })
end end
local highlight_style = {
lighten = _("Lighten"),
underscore = _("Underscore"),
invert = _("Invert"),
}
function ReaderHighlight:genHighlightDrawerMenu() function ReaderHighlight:genHighlightDrawerMenu()
return { local get_highlight_style = function(style)
{ return {
text = _("Lighten"), text = highlight_style[style],
checked_func = function() checked_func = function()
return self.view.highlight.saved_drawer == "lighten" return self.view.highlight.saved_drawer == style
end, end,
callback = function() enabled_func = function()
self.view.highlight.saved_drawer = "lighten" return not self.view.highlight.disabled
end
},
{
text = _("Underscore"),
checked_func = function()
return self.view.highlight.saved_drawer == "underscore"
end, end,
callback = function() callback = function()
self.view.highlight.saved_drawer = "underscore" self.view.highlight.saved_drawer = style
end end
}, }
end
return {
{ {
text = _("Invert"), text_func = function()
checked_func = function() return self.view.highlight.disabled and _("Enable") or _("Disable")
return self.view.highlight.saved_drawer == "invert"
end, end,
callback = function() callback = function()
self.view.highlight.saved_drawer = "invert" self.view.highlight.disabled = not self.view.highlight.disabled
end end
}, },
get_highlight_style("lighten"),
get_highlight_style("underscore"),
get_highlight_style("invert"),
} }
end end
@ -218,6 +222,8 @@ function ReaderHighlight:onShowHighlightDialog(page, index)
end end
function ReaderHighlight:onHold(arg, ges) function ReaderHighlight:onHold(arg, ges)
-- disable hold gesture if highlighting is disabled
if self.view.highlight.disabled then return true end
self.hold_pos = self.view:screenToPageTransform(ges.pos) self.hold_pos = self.view:screenToPageTransform(ges.pos)
DEBUG("hold position in page", self.hold_pos) DEBUG("hold position in page", self.hold_pos)
if not self.hold_pos then if not self.hold_pos then
@ -462,10 +468,12 @@ end
function ReaderHighlight:onReadSettings(config) function ReaderHighlight:onReadSettings(config)
self.view.highlight.saved_drawer = config:readSetting("highlight_drawer") or self.view.highlight.saved_drawer self.view.highlight.saved_drawer = config:readSetting("highlight_drawer") or self.view.highlight.saved_drawer
self.view.highlight.disabled = config:readSetting("highlight_disabled") or false
end end
function ReaderHighlight:onSaveSettings() function ReaderHighlight:onSaveSettings()
self.ui.doc_settings:saveSetting("highlight_drawer", self.view.highlight.saved_drawer) self.ui.doc_settings:saveSetting("highlight_drawer", self.view.highlight.saved_drawer)
self.ui.doc_settings:saveSetting("highlight_disabled", self.view.highlight.disabled)
end end
function ReaderHighlight:onClose() function ReaderHighlight:onClose()

Loading…
Cancel
Save