fix #2110 by adding disable double tap option in screen options

pull/2111/head
chrox 8 years ago
parent 48331f42ef
commit 03fda94562

@ -284,6 +284,7 @@ function ReaderUI:init()
view = self.view,
ui = self
})
self.disable_double_tap = G_reader_settings:readSetting("disable_double_tap") ~= false
end
-- fulltext search
self:registerModule("search", ReaderSearch:new{

@ -39,6 +39,7 @@ table.insert(common_settings, {
sub_item_table = {
require("ui/elements/screen_dpi_menu_table"),
require("ui/elements/screen_eink_opt_menu_table"),
require("ui/elements/screen_disable_double_tap_table"),
require("ui/elements/refresh_menu_table"),
},
})

@ -0,0 +1,17 @@
local InfoMessage = require("ui/widget/infomessage")
local UIManager = require("ui/uimanager")
local _ = require("gettext")
return {
text = _("Disable double tap"),
checked_func = function()
return G_reader_settings:readSetting("disable_double_tap") ~= false
end,
callback = function()
disabled = G_reader_settings:readSetting("disable_double_tap") ~= false
G_reader_settings:saveSetting("disable_double_tap", not disabled)
UIManager:show(InfoMessage:new{
text = _("This will take effect on next restart."),
})
end,
}

@ -168,7 +168,9 @@ function UIManager:show(widget, refreshtype, refreshregion, x, y)
-- tell the widget that it is shown now
widget:handleEvent(Event:new("Show"))
-- check if this widget disables double tap gesture
if widget.disable_double_tap then
if widget.disable_double_tap == false then
Input.disable_double_tap = false
else
Input.disable_double_tap = true
end
end
@ -184,6 +186,8 @@ function UIManager:close(widget, refreshtype, refreshregion)
local dirty = false
-- first send close event to widget
widget:handleEvent(Event:new("CloseWidget"))
-- make it enabled by default and check any widget that disable it
Input.disable_double_tap = false
-- then remove all reference to that widget on stack and update
for i = #self._window_stack, 1, -1 do
if self._window_stack[i].widget == widget then

Loading…
Cancel
Save