mirror of https://github.com/koreader/koreader
Refactored menu
While looking into #1219 I accidentally ended up refactoring some stuff. Tested in emulator and on H2O, but be wary because I might have overlooked something.pull/1225/head
parent
d649ce269b
commit
da00b4b8a9
@ -0,0 +1,29 @@
|
||||
local Device = require("device")
|
||||
local InfoMessage = require("ui/widget/infomessage")
|
||||
local UIManager = require("ui/uimanager")
|
||||
local _ = require("gettext")
|
||||
|
||||
local common_info = {}
|
||||
|
||||
if Device:isKindle() or Device:isKobo() then
|
||||
local OTAManager = require("ui/otamanager")
|
||||
table.insert(common_info, OTAManager:getOTAMenuTable())
|
||||
end
|
||||
table.insert(common_info, {
|
||||
text = _("Version"),
|
||||
callback = function()
|
||||
UIManager:show(InfoMessage:new{
|
||||
text = io.open("git-rev", "r"):read(),
|
||||
})
|
||||
end
|
||||
})
|
||||
table.insert(common_info, {
|
||||
text = _("Help"),
|
||||
callback = function()
|
||||
UIManager:show(InfoMessage:new{
|
||||
text = _("Please report bugs to \nhttps://github.com/koreader/koreader/issues"),
|
||||
})
|
||||
end
|
||||
})
|
||||
|
||||
return common_info
|
@ -0,0 +1,53 @@
|
||||
local Device = require("device")
|
||||
local Language = require("ui/language")
|
||||
local NetworkMgr = require("ui/networkmgr")
|
||||
local UIManager = require("ui/uimanager")
|
||||
local Screen = require("device").screen
|
||||
local _ = require("gettext")
|
||||
|
||||
local common_settings = {}
|
||||
|
||||
if Device:hasFrontlight() then
|
||||
local ReaderFrontLight = require("apps/reader/modules/readerfrontlight")
|
||||
table.insert(common_settings, {
|
||||
text = _("Frontlight"),
|
||||
callback = function()
|
||||
ReaderFrontLight:onShowFlDialog()
|
||||
end,
|
||||
})
|
||||
end
|
||||
table.insert(common_settings, {
|
||||
text = _("Night mode"),
|
||||
checked_func = function() return G_reader_settings:readSetting("night_mode") end,
|
||||
callback = function()
|
||||
local night_mode = G_reader_settings:readSetting("night_mode") or false
|
||||
Screen:toggleNightMode()
|
||||
G_reader_settings:saveSetting("night_mode", not night_mode)
|
||||
end
|
||||
})
|
||||
table.insert(common_settings, {
|
||||
text = _("Network"),
|
||||
sub_item_table = {
|
||||
NetworkMgr:getWifiMenuTable(),
|
||||
NetworkMgr:getProxyMenuTable(),
|
||||
}
|
||||
})
|
||||
table.insert(common_settings, {
|
||||
text = _("Screen"),
|
||||
sub_item_table = {
|
||||
require("ui/elements/screen_dpi_menu_table"),
|
||||
require("ui/elements/screen_eink_opt_menu_table"),
|
||||
UIManager:getRefreshMenuTable(),
|
||||
},
|
||||
})
|
||||
table.insert(common_settings, Language:getLangMenuTable())
|
||||
table.insert(common_settings, {
|
||||
text = _("Show advanced options"),
|
||||
checked_func = function() return G_reader_settings:readSetting("show_advanced") end,
|
||||
callback = function()
|
||||
local show_advanced = G_reader_settings:readSetting("show_advanced") or false
|
||||
G_reader_settings:saveSetting("show_advanced", not show_advanced)
|
||||
end
|
||||
})
|
||||
|
||||
return common_settings
|
Loading…
Reference in New Issue