ReaderMenu/FileManagerMenu: deduplicate Exit menu code (#8459)

pull/8462/head
zwim 2 years ago committed by GitHub
parent 1d92ee19fb
commit 8ef426d79f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -763,30 +763,9 @@ Tap a book in the search results to open it.]]),
for id, common_setting in pairs(dofile("frontend/ui/elements/common_info_menu_table.lua")) do
self.menu_items[id] = common_setting
end
self.menu_items.exit_menu = {
text = _("Exit"),
hold_callback = function()
self:exitOrRestart()
end,
}
self.menu_items.exit = {
text = _("Exit"),
callback = function()
self:exitOrRestart()
end,
}
self.menu_items.restart_koreader = {
text = _("Restart KOReader"),
callback = function()
self:exitOrRestart(function()
UIManager:restartKOReader()
end)
end,
}
if not Device:canRestart() then
self.menu_items.exit_menu = self.menu_items.exit
self.menu_items.exit = nil
self.menu_items.restart_koreader = nil
-- insert common exit for filemanager
for id, common_setting in pairs(dofile("frontend/ui/elements/common_exit_menu_table.lua")) do
self.menu_items[id] = common_setting
end
if not Device:isTouchDevice() then
-- add a shortcut on non touch-device

@ -251,29 +251,9 @@ function ReaderMenu:setUpdateItemTable()
for id, common_setting in pairs(dofile("frontend/ui/elements/common_info_menu_table.lua")) do
self.menu_items[id] = common_setting
end
self.menu_items.exit_menu = {
text = _("Exit"),
hold_callback = function()
self:exitOrRestart()
end,
}
self.menu_items.exit = {
text = _("Exit"),
callback = function()
self:exitOrRestart()
end,
}
self.menu_items.restart_koreader = {
text = _("Restart KOReader"),
callback = function()
self:exitOrRestart(function() UIManager:restartKOReader() end)
end,
}
if not Device:canRestart() then
self.menu_items.exit_menu = self.menu_items.exit
self.menu_items.exit = nil
self.menu_items.restart_koreader = nil
-- insert common exit for reader
for id, common_setting in pairs(dofile("frontend/ui/elements/common_exit_menu_table.lua")) do
self.menu_items[id] = common_setting
end
self.menu_items.open_previous_document = {

@ -0,0 +1,56 @@
local Device = require("device")
local Event = require("ui/event")
local UIManager = require("ui/uimanager")
local _ = require("gettext")
local exit_settings = {}
exit_settings.exit_menu = {
text = _("Exit"),
-- submenu entries will be appended by xyz_menu_order_lua
}
exit_settings.exit = {
text = _("Exit"),
callback = function()
UIManager:broadcastEvent(Event:new("Exit"))
end,
}
exit_settings.restart_koreader = {
text = _("Restart KOReader"),
callback = function()
UIManager:broadcastEvent(Event:new("Restart"))
end,
}
if not Device:canRestart() then
exit_settings.exit_menu = exit_settings.exit
exit_settings.exit = nil
exit_settings.restart_koreader = nil
end
if Device:canSuspend() then
exit_settings.sleep = {
text = _("Sleep"),
callback = function()
UIManager:suspend()
end,
}
end
if Device:canReboot() then
exit_settings.reboot = {
text = _("Reboot the device"),
keep_menu_open = true,
callback = function()
UIManager:broadcastEvent(Event:new("Reboot"))
end
}
end
if Device:canPowerOff() then
exit_settings.poweroff = {
text = _("Power off"),
keep_menu_open = true,
callback = function()
UIManager:broadcastEvent(Event:new("PowerOff"))
end
}
end
return exit_settings

@ -77,31 +77,4 @@ common_info.report_bug = {
end
}
if Device:canSuspend() then
common_info.sleep = {
text = _("Sleep"),
callback = function()
UIManager:suspend()
end,
}
end
if Device:canReboot() then
common_info.reboot = {
text = _("Reboot the device"),
keep_menu_open = true,
callback = function()
UIManager:broadcastEvent(Event:new("Reboot"))
end
}
end
if Device:canPowerOff() then
common_info.poweroff = {
text = _("Power off"),
keep_menu_open = true,
callback = function()
UIManager:broadcastEvent(Event:new("PowerOff"))
end
}
end
return common_info

Loading…
Cancel
Save