mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
ReaderGesture: cleanup (#6292)
convert all gesture actions to use events for better modularity add network event handlers and device event handlers
This commit is contained in:
@@ -5,7 +5,9 @@ local Geom = require("ui/geometry")
|
||||
local InputContainer = require("ui/widget/container/inputcontainer")
|
||||
local Math = require("optmath")
|
||||
local MultiConfirmBox = require("ui/widget/multiconfirmbox")
|
||||
local Notification = require("ui/widget/notification")
|
||||
local UIManager = require("ui/uimanager")
|
||||
local bit = require("bit")
|
||||
local logger = require("logger")
|
||||
local _ = require("gettext")
|
||||
local Screen = Device.screen
|
||||
@@ -422,7 +424,7 @@ function ReaderPaging:onSwipe(_, ges)
|
||||
end
|
||||
else
|
||||
-- update footer (time & battery)
|
||||
self.view.footer:updateFooter()
|
||||
self.view.footer:onUpdateFooter()
|
||||
-- trigger full refresh
|
||||
UIManager:setDirty(nil, "full")
|
||||
end
|
||||
@@ -977,7 +979,7 @@ function ReaderPaging:_gotoPage(number, orig_mode)
|
||||
if number == self.current_page or not number then
|
||||
-- update footer even if we stay on the same page (like when
|
||||
-- viewing the bottom part of a page from a top part view)
|
||||
self.view.footer:updateFooter()
|
||||
self.view.footer:onUpdateFooter()
|
||||
return true
|
||||
end
|
||||
if number > self.number_of_pages then
|
||||
@@ -1031,4 +1033,26 @@ function ReaderPaging:onGotoPrevChapter()
|
||||
return true
|
||||
end
|
||||
|
||||
function ReaderPaging:onToggleReflow()
|
||||
self.view.document.configurable.text_wrap = bit.bxor(self.view.document.configurable.text_wrap, 1)
|
||||
self.ui:handleEvent(Event:new("RedrawCurrentPage"))
|
||||
self.ui:handleEvent(Event:new("RestoreZoomMode"))
|
||||
self.ui:handleEvent(Event:new("InitScrollPageStates"))
|
||||
end
|
||||
|
||||
-- Duplicated in ReaderRolling
|
||||
function ReaderPaging:onToggleReadingOrder()
|
||||
self.inverse_reading_order = not self.inverse_reading_order
|
||||
self:setupTouchZones()
|
||||
local is_rtl = BD.mirroredUILayout()
|
||||
if self.inverse_reading_order then
|
||||
is_rtl = not is_rtl
|
||||
end
|
||||
UIManager:show(Notification:new{
|
||||
text = is_rtl and _("RTL page turning.") or _("LTR page turning."),
|
||||
timeout = 2.5,
|
||||
})
|
||||
return true
|
||||
end
|
||||
|
||||
return ReaderPaging
|
||||
|
||||
Reference in New Issue
Block a user