mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
More tools is a submenu in the tools menu, not in the plugins menu. That everything in there happens to be plugins is merely a technical detail and not considered part of the unifying menu vision. Plugin management should be last as it is because it's only used once in a blue moon, if it should be in the tools menu at all. The same applies to settings more broadly. Putting plugin management in the tools menu is traditional, however. Plugins should not and are not supposed to be most at home in the tools menu. Those plugins that happen to be in the tools menu are by and large there because that's where they fit best. Those that don't are new and I didn't have the heart or energy to make much of a fuzz about it provided they had a reasonable claim to the tools menu. That includes plugins like tweak document settings which should be more at home in settings → document. Also see <https://github.com/koreader/koreader/issues/6105#issuecomment-621653800>.
110 lines
3.1 KiB
Lua
110 lines
3.1 KiB
Lua
local BD = require("ui/bidi")
|
|
local ConfirmBox = require("ui/widget/confirmbox")
|
|
local Device = require("device")
|
|
local InfoMessage = require("ui/widget/infomessage")
|
|
local UIManager = require("ui/uimanager")
|
|
local _ = require("gettext")
|
|
local T = require("ffi/util").template
|
|
|
|
local common_info = {}
|
|
|
|
if Device:hasOTAUpdates() then
|
|
local OTAManager = require("ui/otamanager")
|
|
common_info.ota_update = OTAManager:getOTAMenuTable()
|
|
end
|
|
local version = require("version"):getCurrentRevision()
|
|
common_info.version = {
|
|
text = _("Version"),
|
|
keep_menu_open = true,
|
|
callback = function()
|
|
UIManager:show(InfoMessage:new{
|
|
text = version,
|
|
})
|
|
end
|
|
}
|
|
common_info.help = {
|
|
text = _("Help"),
|
|
}
|
|
common_info.more_plugins = {
|
|
text = _("More tools"),
|
|
}
|
|
|
|
common_info.device = {
|
|
text = _("Device"),
|
|
}
|
|
common_info.quickstart_guide = {
|
|
text = _("Quickstart guide"),
|
|
callback = function()
|
|
local QuickStart = require("ui/quickstart")
|
|
local ReaderUI = require("apps/reader/readerui")
|
|
ReaderUI:showReader(QuickStart:getQuickStart())
|
|
end
|
|
}
|
|
common_info.about = {
|
|
text = _("About"),
|
|
keep_menu_open = true,
|
|
callback = function()
|
|
UIManager:show(InfoMessage:new{
|
|
text = T(_("KOReader %1\n\nA document viewer for E Ink devices.\n\nLicensed under Affero GPL v3. All dependencies are free software.\n\nhttp://koreader.rocks/"), BD.ltr(version)),
|
|
icon_file = "resources/ko-icon.png",
|
|
alpha = true,
|
|
})
|
|
end
|
|
}
|
|
common_info.report_bug = {
|
|
text = _("Report a bug"),
|
|
keep_menu_open = true,
|
|
callback = function()
|
|
local device = Device.model
|
|
if Device:isAndroid() then
|
|
device = Device:info()
|
|
end
|
|
|
|
UIManager:show(InfoMessage:new{
|
|
text = T(_("Please report bugs to \nhttps://github.com/koreader/koreader/issues\n\nVersion:\n%1\n\nDetected device:\n%2"),
|
|
version, device),
|
|
})
|
|
end
|
|
}
|
|
|
|
if Device:isCervantes() or Device:isKindle() or Device:isKobo() 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:show(ConfirmBox:new{
|
|
text = _("Are you sure you want to reboot the device?"),
|
|
ok_text = _("Reboot"),
|
|
ok_callback = function()
|
|
UIManager:nextTick(UIManager.reboot_action)
|
|
end,
|
|
})
|
|
end
|
|
}
|
|
end
|
|
if Device:canPowerOff() then
|
|
common_info.poweroff = {
|
|
text = _("Power off"),
|
|
keep_menu_open = true,
|
|
callback = function()
|
|
UIManager:show(ConfirmBox:new{
|
|
text = _("Are you sure you want to power off the device?"),
|
|
ok_text = _("Power off"),
|
|
ok_callback = function()
|
|
UIManager:nextTick(UIManager.poweroff_action)
|
|
end,
|
|
})
|
|
end
|
|
}
|
|
end
|
|
|
|
return common_info
|