diff --git a/frontend/device/devicelistener.lua b/frontend/device/devicelistener.lua index 4efe04eb1..22c5942a8 100644 --- a/frontend/device/devicelistener.lua +++ b/frontend/device/devicelistener.lua @@ -313,6 +313,11 @@ function DeviceListener:onToggleNoFlashOnSecondChapterPage() _toggleSetting("no_refresh_on_second_chapter_page") end +function DeviceListener:onSwapPageTurnButtons() + _toggleSetting("input_invert_page_turn_keys") + Device:invertButtons() +end + if Device:canReboot() then function DeviceListener:onReboot() UIManager:show(ConfirmBox:new{ diff --git a/frontend/dispatcher.lua b/frontend/dispatcher.lua index 772590be8..53e000ffc 100644 --- a/frontend/dispatcher.lua +++ b/frontend/dispatcher.lua @@ -134,6 +134,7 @@ local settingsList = { toggle_bookmark = {category="none", event="ToggleBookmark", title=_("Toggle bookmark"), reader=true}, toggle_page_change_animation = {category="none", event="TogglePageChangeAnimation", title=_("Toggle page turn animations"), reader=true, condition=Device:canDoSwipeAnimation()}, toggle_inverse_reading_order = {category="none", event="ToggleReadingOrder", title=_("Toggle page turn direction"), reader=true, separator=true}, + swap_page_turn_buttons = {category="none", event="SwapPageTurnButtons", title=_("Invert page turn buttons"), reader=true, condition=Device:hasKeys(), separator=true}, cycle_highlight_action = {category="none", event="CycleHighlightAction", title=_("Cycle highlight action"), reader=true}, cycle_highlight_style = {category="none", event="CycleHighlightStyle", title=_("Cycle highlight style"), reader=true}, page_jmp = {category="absolutenumber", event="GotoViewRel", min=-100, max=100, title=_("Go %1 pages"), reader=true}, @@ -317,6 +318,7 @@ local dispatcher_menu_order = { "toggle_page_flipping", "toggle_reflow", "toggle_inverse_reading_order", + "swap_page_turn_buttons", "zoom", "zoom_factor_change", "cycle_highlight_action", diff --git a/frontend/ui/elements/page_turns.lua b/frontend/ui/elements/page_turns.lua index 229bc89ad..9ad535c44 100644 --- a/frontend/ui/elements/page_turns.lua +++ b/frontend/ui/elements/page_turns.lua @@ -161,8 +161,7 @@ if Device:hasKeys() then return G_reader_settings:isTrue("input_invert_page_turn_keys") end, callback = function() - G_reader_settings:flipNilOrFalse("input_invert_page_turn_keys") - Device:invertButtons() + UIManager:broadcastEvent(Event:new("SwapPageTurnButtons")) end, }) end