mirror of https://github.com/koreader/koreader
"Page turns" menu development (#8022)
Make "Taps and gestures - Page turns" available only in reader. Move there other page turn related menu items from Navigation. Remove duplicated code. Added standard "star" for default RTL.pull/8028/head
parent
990b6768f4
commit
e5f28a0f60
@ -1,25 +1,85 @@
|
|||||||
|
local Device = require("device")
|
||||||
|
local Event = require("ui/event")
|
||||||
|
local UIManager = require("ui/uimanager")
|
||||||
local _ = require("gettext")
|
local _ = require("gettext")
|
||||||
|
|
||||||
return {
|
local PageTurns = {
|
||||||
text = _("Page turns"),
|
text = _("Page turns"),
|
||||||
sub_item_table = {
|
sub_item_table = {
|
||||||
{
|
{
|
||||||
text = _("Disable taps"),
|
text = _("With taps"),
|
||||||
checked_func = function()
|
checked_func = function()
|
||||||
return G_reader_settings:isTrue("page_turns_disable_tap")
|
return G_reader_settings:nilOrFalse("page_turns_disable_tap")
|
||||||
end,
|
end,
|
||||||
callback = function()
|
callback = function()
|
||||||
G_reader_settings:toggle("page_turns_disable_tap")
|
G_reader_settings:flipNilOrFalse("page_turns_disable_tap")
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text = _("Disable swipes"),
|
text = _("With swipes"),
|
||||||
checked_func = function()
|
checked_func = function()
|
||||||
return G_reader_settings:isTrue("page_turns_disable_swipe")
|
return G_reader_settings:nilOrFalse("page_turns_disable_swipe")
|
||||||
end,
|
end,
|
||||||
callback = function()
|
callback = function()
|
||||||
G_reader_settings:toggle("page_turns_disable_swipe")
|
G_reader_settings:flipNilOrFalse("page_turns_disable_swipe")
|
||||||
end
|
end,
|
||||||
|
separator = true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
text_func = function()
|
||||||
|
local text = _("Invert page turn taps and swipes")
|
||||||
|
if G_reader_settings:isTrue("inverse_reading_order") then
|
||||||
|
text = text .. " ★"
|
||||||
|
end
|
||||||
|
return text
|
||||||
|
end,
|
||||||
|
checked_func = function()
|
||||||
|
local ui = require("apps/reader/readerui"):_getRunningInstance()
|
||||||
|
if ui.document.info.has_pages then
|
||||||
|
return ui.paging.inverse_reading_order
|
||||||
|
else
|
||||||
|
return ui.rolling.inverse_reading_order
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
callback = function()
|
||||||
|
UIManager:broadcastEvent(Event:new("ToggleReadingOrder"))
|
||||||
|
end,
|
||||||
|
hold_callback = function(touchmenu_instance)
|
||||||
|
local inverse_reading_order = G_reader_settings:isTrue("inverse_reading_order")
|
||||||
|
local MultiConfirmBox = require("ui/widget/multiconfirmbox")
|
||||||
|
UIManager:show(MultiConfirmBox:new{
|
||||||
|
text = inverse_reading_order and _("The default (★) for newly opened books is right-to-left (RTL) page turning.\n\nWould you like to change it?")
|
||||||
|
or _("The default (★) for newly opened books is left-to-right (LTR) page turning.\n\nWould you like to change it?"),
|
||||||
|
choice1_text_func = function()
|
||||||
|
return inverse_reading_order and _("LTR") or _("LTR (★)")
|
||||||
|
end,
|
||||||
|
choice1_callback = function()
|
||||||
|
G_reader_settings:makeFalse("inverse_reading_order")
|
||||||
|
if touchmenu_instance then touchmenu_instance:updateItems() end
|
||||||
|
end,
|
||||||
|
choice2_text_func = function()
|
||||||
|
return inverse_reading_order and _("RTL (★)") or _("RTL")
|
||||||
|
end,
|
||||||
|
choice2_callback = function()
|
||||||
|
G_reader_settings:makeTrue("inverse_reading_order")
|
||||||
|
if touchmenu_instance then touchmenu_instance:updateItems() end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if Device:hasKeys() then
|
||||||
|
table.insert(PageTurns.sub_item_table, {
|
||||||
|
text = _("Invert page turn buttons"),
|
||||||
|
checked_func = function()
|
||||||
|
return G_reader_settings:isTrue("input_invert_page_turn_keys")
|
||||||
|
end,
|
||||||
|
callback = function()
|
||||||
|
G_reader_settings:flipNilOrFalse("input_invert_page_turn_keys")
|
||||||
|
Device:invertButtons()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
return PageTurns
|
||||||
|
Loading…
Reference in New Issue