[feat] Add ReaderBack (#3821)

This implements a reasonable facsimile of going back on Android.

The back button first goes back in a history of visited pages.
When there's no history left, it closes the app.

Fixes #3816.
This commit is contained in:
Frans de Jonge
2018-03-31 21:19:31 +02:00
committed by GitHub
parent c332d517f7
commit 2c1178896c
4 changed files with 128 additions and 36 deletions

View File

@@ -17,6 +17,7 @@ local InputContainer = require("ui/widget/container/inputcontainer")
local InputDialog = require("ui/widget/inputdialog")
local PluginLoader = require("pluginloader")
local ReaderActivityIndicator = require("apps/reader/modules/readeractivityindicator")
local ReaderBack = require("apps/reader/modules/readerback")
local ReaderBookmark = require("apps/reader/modules/readerbookmark")
local ReaderConfig = require("apps/reader/modules/readerconfig")
local ReaderCoptListener = require("apps/reader/modules/readercoptlistener")
@@ -97,11 +98,6 @@ function ReaderUI:init()
if Device:hasKeys() then
self.key_events.Home = { {"Home"}, doc = "open file browser" }
if Device:isSDL() then
--if in the desktop emulator
--add the old Back key to exit koreader
self.key_events.Close = { {"Back"}, doc = "Exit koreader" }
end
end
-- a view container (so it must be child #1!)
@@ -299,6 +295,11 @@ function ReaderUI:init()
})
self.disable_double_tap = G_reader_settings:readSetting("disable_double_tap") ~= false
end
-- back location stack
self:registerModule("back", ReaderBack:new{
ui = self,
view = self.view,
})
-- fulltext search
self:registerModule("search", ReaderSearch:new{
dialog = self.dialog,