diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index 8c79c3c90..da688f5bf 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -46,7 +46,6 @@ function ReaderMenu:init() local FileManager = require("apps/filemanager/filemanager") FileManager:restoreScreenMode() if not FileManager.is_running then - UIManager:quit() FileManager:showFiles() end end, @@ -91,8 +90,6 @@ function ReaderMenu:setUpdateItemTable() end -- setting tab - -- FIXME: it's curious that if this 'Screen' menu is placed after the Language - -- menu submenu in 'Screen' won't be shown. Probably a bug in the touchmenu module. table.insert(self.tab_item_table.setting, { text = _("Screen settings"), sub_item_table = { @@ -143,27 +140,33 @@ 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 - }) - local proportional = self.ui.doc_settings:readSetting("proportional_screensaver") or false + local excluded = function() + return self.ui.doc_settings:readSetting("exclude_screensaver") or false + end + local proportional = function() + return self.ui.doc_settings:readSetting("proportional_screensaver") or false + end table.insert(self.tab_item_table.typeset, { - text = _("Display proportional cover image in screensaver"), - checked_func = function() return (self.ui.doc_settings:readSetting("proportional_screensaver") or false) end, - callback = function() - local proportional = self.ui.doc_settings:readSetting("proportional_screensaver") or false - self.ui.doc_settings:saveSetting("proportional_screensaver", not proportional) - self.ui:saveSettings() - end + text = "Screensaver", + sub_item_table = { + { + text = _("Use this book's cover as screensaver"), + checked_func = function() return not excluded() end, + callback = function() + self.ui.doc_settings:saveSetting("exclude_screensaver", not excluded()) + self.ui:saveSettings() + end + }, + { + text = _("Display proportional cover image in screensaver"), + checked_func = function() return proportional() end, + callback = function() + self.ui.doc_settings:saveSetting("proportional_screensaver", not proportional()) + self.ui:saveSettings() + end + } + } }) end end diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index b0ea0883b..080dcec8b 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -103,6 +103,7 @@ function TouchMenuItem:onTapSelect(arg, ges) UIManager:setDirty(self.show_parent, "partial") end) self.menu:onMenuSelect(self.item) + return true end function TouchMenuItem:onHoldSelect(arg, ges) @@ -119,6 +120,7 @@ function TouchMenuItem:onHoldSelect(arg, ges) UIManager:setDirty(self.show_parent, "partial") end) self.menu:onMenuHold(self.item) + return true end --[[ @@ -331,11 +333,11 @@ function TouchMenu:init() self.device_info = HorizontalGroup:new{ self.time_info, self.net_info, - } - else + } + else self.device_info = HorizontalGroup:new{ self.time_info, - } + } end local footer_width = self.width - self.padding*2 - self.bordersize*2 self.footer = HorizontalGroup:new{