Add restart koreader function and ensure FlushSettings event can be delivered to all widgets (#2772)

This commit is contained in:
Hzj_jie
2017-05-16 02:11:11 -07:00
committed by Qingping Hou
parent 3492b8b117
commit 30378eb2a8
25 changed files with 279 additions and 104 deletions

View File

@@ -186,12 +186,14 @@ function ReaderMenu:setUpdateItemTable()
self.menu_items.exit = {
text = _("Exit"),
callback = function()
self:onTapCloseMenu()
UIManager:scheduleIn(0.1, function() self.ui:onClose() end)
local FileManager = require("apps/filemanager/filemanager")
if FileManager.instance then
FileManager.instance:onClose()
end
self:exitOrRestart()
end,
}
self.menu_items.restart_koreader = {
text = _("Restart KOReader"),
callback = function()
self:exitOrRestart(function() UIManager:restartKOReader() end)
end,
}
@@ -209,6 +211,20 @@ dbg:guard(ReaderMenu, 'setUpdateItemTable',
end
end)
function ReaderMenu:exitOrRestart(callback)
self:onTapCloseMenu()
UIManager:nextTick(function()
self.ui:onClose()
if callback ~= nil then
callback()
end
end)
local FileManager = require("apps/filemanager/filemanager")
if FileManager.instance then
FileManager.instance:onClose()
end
end
function ReaderMenu:onShowReaderMenu()
if self.tab_item_table == nil then
self:setUpdateItemTable()