From 0a3978f60b83bc8a2c2ca75f8659e5ffd6ed1249 Mon Sep 17 00:00:00 2001 From: poire-z Date: Wed, 19 May 2021 22:57:50 +0200 Subject: [PATCH] Reader: remove full refresh on vertical swipes Small diagonal swipes is what can be used for full refrehes. Tweak a bit how it is done. --- frontend/apps/reader/modules/readerpaging.lua | 9 ++++----- frontend/apps/reader/modules/readerrolling.lua | 7 ++----- frontend/device/devicelistener.lua | 6 ++++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/frontend/apps/reader/modules/readerpaging.lua b/frontend/apps/reader/modules/readerpaging.lua index 6bc5b9840..2496a3af8 100644 --- a/frontend/apps/reader/modules/readerpaging.lua +++ b/frontend/apps/reader/modules/readerpaging.lua @@ -426,8 +426,10 @@ function ReaderPaging:onSwipe(_, ges) local direction = BD.flipDirectionIfMirroredUILayout(ges.direction) if self.bookmark_flipping_mode then self:bookmarkFlipping(self.current_page, ges) + return true elseif self.page_flipping_mode and self.original_page then self:_gotoPage(self.original_page) + return true elseif direction == "west" then if G_reader_settings:nilOrFalse("page_turns_disable_swipe") then if self.inverse_reading_order then @@ -435,6 +437,7 @@ function ReaderPaging:onSwipe(_, ges) else self:onGotoViewRel(1) end + return true end elseif direction == "east" then if G_reader_settings:nilOrFalse("page_turns_disable_swipe") then @@ -443,12 +446,8 @@ function ReaderPaging:onSwipe(_, ges) else self:onGotoViewRel(-1) end + return true end - else - -- update footer (time & battery) - self.view.footer:onUpdateFooter() - -- trigger full refresh - UIManager:setDirty(nil, "full") end end diff --git a/frontend/apps/reader/modules/readerrolling.lua b/frontend/apps/reader/modules/readerrolling.lua index 1f1404b10..cd21b1786 100644 --- a/frontend/apps/reader/modules/readerrolling.lua +++ b/frontend/apps/reader/modules/readerrolling.lua @@ -524,6 +524,7 @@ function ReaderRolling:onSwipe(_, ges) else self:onGotoViewRel(1) end + return true end elseif direction == "east" then if G_reader_settings:nilOrFalse("page_turns_disable_swipe") then @@ -532,12 +533,8 @@ function ReaderRolling:onSwipe(_, ges) else self:onGotoViewRel(-1) end + return true end - else - -- update footer (time & battery) - self.view.footer:onUpdateFooter() - -- trigger full refresh - UIManager:setDirty(nil, "full") end end diff --git a/frontend/device/devicelistener.lua b/frontend/device/devicelistener.lua index 46fb4bbc7..9388cf1d2 100644 --- a/frontend/device/devicelistener.lua +++ b/frontend/device/devicelistener.lua @@ -356,8 +356,10 @@ function DeviceListener:onRestart() end function DeviceListener:onFullRefresh() - self.ui:handleEvent(Event:new("UpdateFooter")) - UIManager:setDirty("all", "full") + if self.ui and self.ui.view then + self.ui:handleEvent(Event:new("UpdateFooter", self.ui.view.footer_visible)) + end + UIManager:setDirty(nil, "full") end return DeviceListener