mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Screensaver option on Kindle devices (#2734)
* Screensaver on Kindle devices
This commit is contained in:
@@ -96,7 +96,7 @@ function FileManagerMenu:setUpdateItemTable()
|
||||
G_reader_settings:flush()
|
||||
end
|
||||
}
|
||||
if Device.isKobo() then
|
||||
if Device.isKobo() or Device.isKindle() then
|
||||
self.menu_items.screensaver = {
|
||||
text = _("Screensaver"),
|
||||
sub_item_table = {
|
||||
|
||||
@@ -145,8 +145,27 @@ function ReaderMenu:setUpdateItemTable()
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif Device:isKindle() then
|
||||
self.menu_items.screensaver = {
|
||||
text = _("Screensaver"),
|
||||
sub_item_table = {
|
||||
{
|
||||
text = _("Use book's cover as screensaver"),
|
||||
checked_func = Screensaver.isUsingBookCover,
|
||||
callback = function()
|
||||
if Screensaver:isUsingBookCover() then
|
||||
G_reader_settings:saveSetting(
|
||||
"use_lastfile_as_screensaver", false)
|
||||
else
|
||||
G_reader_settings:delSetting(
|
||||
"use_lastfile_as_screensaver")
|
||||
end
|
||||
G_reader_settings:flush()
|
||||
end
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
-- main menu tab
|
||||
-- insert common info
|
||||
for id, common_setting in pairs(require("ui/elements/common_info_menu_table")) do
|
||||
|
||||
@@ -46,6 +46,9 @@ function Kindle:usbPlugIn()
|
||||
end
|
||||
|
||||
function Kindle:intoScreenSaver()
|
||||
if require("ui/screensaver").isUsingBookCover then
|
||||
require("ui/screensaver"):show("suspend")
|
||||
end
|
||||
self.powerd:beforeSuspend()
|
||||
if self.charging_mode == false and self.screen_saver_mode == false then
|
||||
self.screen:saveCurrentBB()
|
||||
@@ -64,6 +67,9 @@ function Kindle:outofScreenSaver()
|
||||
if os.getenv("AWESOME_STOPPED") == "yes" then
|
||||
os.execute("killall -stop awesome")
|
||||
end
|
||||
if require("ui/screensaver").isUsingBookCover then
|
||||
require("ui/screensaver"):close()
|
||||
end
|
||||
-- wait for native system update screen before we recover saved
|
||||
-- Blitbuffer.
|
||||
util.usleep(1500000)
|
||||
|
||||
@@ -129,8 +129,10 @@ function Screensaver:show(kind, default_msg)
|
||||
-- fallback to message box
|
||||
if not self.left_msg then
|
||||
local msg = screensaver_settings.message or default_msg
|
||||
self.left_msg = InfoMessage:new{ text = msg }
|
||||
UIManager:show(self.left_msg)
|
||||
if msg then
|
||||
self.left_msg = InfoMessage:new{ text = msg }
|
||||
UIManager:show(self.left_msg)
|
||||
end
|
||||
else
|
||||
-- refresh whole screen for other types
|
||||
UIManager:show(self.left_msg, "full")
|
||||
|
||||
Reference in New Issue
Block a user