From abaa7727509989a2eb10e20d3f09260f083e3c22 Mon Sep 17 00:00:00 2001 From: WS64 Date: Wed, 17 Sep 2014 12:24:33 +0200 Subject: [PATCH 1/2] Add "exclude cover from screensaver" functionality --- frontend/ui/screensaver.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/ui/screensaver.lua b/frontend/ui/screensaver.lua index b842f8875..6f03e1fff 100644 --- a/frontend/ui/screensaver.lua +++ b/frontend/ui/screensaver.lua @@ -1,6 +1,7 @@ local DocumentRegistry = require("document/documentregistry") local UIManager = require("ui/uimanager") local Screen = require("ui/screen") +local DocSettings = require("docsettings") local DEBUG = require("dbg") local _ = require("gettext") @@ -56,7 +57,12 @@ function Screensaver:show() -- first check book cover image if KOBO_SCREEN_SAVER_LAST_BOOK then local lastfile = G_reader_settings:readSetting("lastfile") - self.suspend_msg = self:getCoverImage(lastfile) + local data = DocSettings:open(lastfile) + local exclude = data:readSetting("exclude_screensaver") + if not exclude then + self.suspend_msg = self:getCoverImage(lastfile) + end + end -- then screensaver directory or file image if not self.suspend_msg then From 4ee35bb972121ff9672aca53fba93045cf805979 Mon Sep 17 00:00:00 2001 From: WS64 Date: Wed, 17 Sep 2014 12:25:13 +0200 Subject: [PATCH 2/2] Add "exclude screensaver" to menu --- frontend/apps/reader/modules/readermenu.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index c2840ca62..821e67777 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -139,6 +139,20 @@ function ReaderMenu:setUpdateItemTable() }) end }) + + --typeset tab + if KOBO_SCREEN_SAVER_LAST_BOOK then + local exclude = self.ui.doc_settings:readSetting("exclude_screensaver") or false + table.insert(self.tab_item_table.typeset, { + text = _("Use this book's cover as screensaver"), + checked_func = function() return not (self.ui.doc_settings:readSetting("exclude_screensaver") or false) end, + callback = function() + local exclude = self.ui.doc_settings:readSetting("exclude_screensaver") or false + self.ui.doc_settings:saveSetting("exclude_screensaver", not exclude) + self.ui:saveSettings() + end + }) + end end function ReaderMenu:onShowReaderMenu()