|
|
|
@ -116,6 +116,49 @@ local AutoSuspendWidget = WidgetContainer:new{
|
|
|
|
|
name = "autosuspend",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function AutoSuspendWidget:addToMainMenu(menu_items)
|
|
|
|
|
menu_items.autosuspend = {
|
|
|
|
|
text = _("Autosuspend timeout"),
|
|
|
|
|
-- This won't ever be registered if the plugin is disabled ;).
|
|
|
|
|
--[[
|
|
|
|
|
enabled_func = function()
|
|
|
|
|
-- NOTE: Pilfered from frontend/pluginloader.lua
|
|
|
|
|
local plugins_disabled = G_reader_settings:readSetting("plugins_disabled") or {}
|
|
|
|
|
return plugins_disabled["autosuspend"] ~= true
|
|
|
|
|
end,
|
|
|
|
|
--]]
|
|
|
|
|
callback = function()
|
|
|
|
|
local InfoMessage = require("ui/widget/infomessage")
|
|
|
|
|
local Screen = Device.screen
|
|
|
|
|
local SpinWidget = require("ui/widget/spinwidget")
|
|
|
|
|
local curr_items = G_reader_settings:readSetting("auto_suspend_timeout_seconds") or 60*60
|
|
|
|
|
local autosuspend_spin = SpinWidget:new {
|
|
|
|
|
width = Screen:getWidth() * 0.6,
|
|
|
|
|
value = curr_items / 60,
|
|
|
|
|
value_min = 5,
|
|
|
|
|
value_max = 240,
|
|
|
|
|
value_hold_step = 15,
|
|
|
|
|
ok_text = _("Set timeout"),
|
|
|
|
|
title_text = _("Timeout in minutes"),
|
|
|
|
|
callback = function(autosuspend_spin)
|
|
|
|
|
G_reader_settings:saveSetting("auto_suspend_timeout_seconds", autosuspend_spin.value * 60)
|
|
|
|
|
-- NOTE: Will only take effect after a restart, as we don't have a method to set this live...
|
|
|
|
|
UIManager:show(InfoMessage:new{
|
|
|
|
|
text = _("This will take effect on next restart."),
|
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
UIManager:show(autosuspend_spin)
|
|
|
|
|
end,
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function AutoSuspendWidget:init()
|
|
|
|
|
-- self.ui is nil in the testsuite
|
|
|
|
|
if not self.ui or not self.ui.menu then return end
|
|
|
|
|
self.ui.menu:registerToMainMenu(self)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function AutoSuspendWidget:onInputEvent()
|
|
|
|
|
AutoSuspend:onInputEvent()
|
|
|
|
|
end
|
|
|
|
|