mirror of https://github.com/koreader/koreader
ReaderMenu/FileManagerMenu: deduplicate Exit menu code (#8459)
parent
1d92ee19fb
commit
8ef426d79f
@ -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
|
Loading…
Reference in New Issue