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:
@@ -8,6 +8,7 @@ local BD = require("ui/bidi")
|
||||
local Cache = require("cache")
|
||||
local ConfirmBox = require("ui/widget/confirmbox")
|
||||
local Device = require("device")
|
||||
local DeviceListener = require("device/devicelistener")
|
||||
local DocSettings = require("docsettings")
|
||||
local DocumentRegistry = require("document/documentregistry")
|
||||
local Event = require("ui/event")
|
||||
@@ -29,7 +30,6 @@ local ReaderCropping = require("apps/reader/modules/readercropping")
|
||||
local ReaderDeviceStatus = require("apps/reader/modules/readerdevicestatus")
|
||||
local ReaderDictionary = require("apps/reader/modules/readerdictionary")
|
||||
local ReaderFont = require("apps/reader/modules/readerfont")
|
||||
local ReaderFrontLight = require("apps/reader/modules/readerfrontlight")
|
||||
local ReaderGesture = require("apps/reader/modules/readergesture")
|
||||
local ReaderGoto = require("apps/reader/modules/readergoto")
|
||||
local ReaderHinting = require("apps/reader/modules/readerhinting")
|
||||
@@ -187,14 +187,6 @@ function ReaderUI:init()
|
||||
view = self.view,
|
||||
ui = self
|
||||
}, true)
|
||||
-- frontlight controller
|
||||
if Device:hasFrontlight() then
|
||||
self:registerModule("frontlight", ReaderFrontLight:new{
|
||||
dialog = self.dialog,
|
||||
view = self.view,
|
||||
ui = self
|
||||
})
|
||||
end
|
||||
-- device status controller
|
||||
self:registerModule("battery", ReaderDeviceStatus:new{
|
||||
ui = self,
|
||||
@@ -371,6 +363,12 @@ function ReaderUI:init()
|
||||
document = self.document,
|
||||
ui = self,
|
||||
})
|
||||
-- event listener to change device settings
|
||||
self:registerModule("devicelistener", DeviceListener:new {
|
||||
document = self.document,
|
||||
view = self.view,
|
||||
ui = self,
|
||||
})
|
||||
-- koreader plugins
|
||||
for _, plugin_module in ipairs(PluginLoader:loadPlugins()) do
|
||||
local ok, plugin_or_err = PluginLoader:createPluginInstance(
|
||||
@@ -396,6 +394,15 @@ function ReaderUI:init()
|
||||
})
|
||||
end
|
||||
|
||||
if Device:hasWifiToggle() then
|
||||
local NetworkListener = require("ui/network/networklistener")
|
||||
self:registerModule("networklistener", NetworkListener:new {
|
||||
document = self.document,
|
||||
view = self.view,
|
||||
ui = self,
|
||||
})
|
||||
end
|
||||
|
||||
-- Allow others to change settings based on external factors
|
||||
-- Must be called after plugins are loaded & before setting are read.
|
||||
self:handleEvent(Event:new("DocSettingsLoad", self.doc_settings, self.document))
|
||||
@@ -761,6 +768,10 @@ function ReaderUI:switchDocument(new_file)
|
||||
self:showReader(new_file)
|
||||
end
|
||||
|
||||
function ReaderUI:onOpenLastDoc()
|
||||
self:switchDocument(self.menu:getPreviousFile())
|
||||
end
|
||||
|
||||
function ReaderUI:getCurrentPage()
|
||||
if self.document.info.has_pages then
|
||||
return self.paging.current_page
|
||||
|
||||
Reference in New Issue
Block a user