From e4a67d16d07a7b81af592cbde11138b68a12b26d Mon Sep 17 00:00:00 2001 From: Daniel Kauss Date: Sat, 24 Feb 2024 19:38:38 +0100 Subject: [PATCH] Add checkbox for fallback --- frontend/apps/filemanager/filemanagerbookinfo.lua | 2 +- frontend/apps/filemanager/filemanagermenu.lua | 5 +++++ frontend/ui/widget/filechooser.lua | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/apps/filemanager/filemanagerbookinfo.lua b/frontend/apps/filemanager/filemanagerbookinfo.lua index fce5b3901..47bf11dd3 100644 --- a/frontend/apps/filemanager/filemanagerbookinfo.lua +++ b/frontend/apps/filemanager/filemanagerbookinfo.lua @@ -366,7 +366,7 @@ function BookInfo:getCoverImage(doc, file, force_orig) end if doc then cover_bb = doc:getCoverPageImage() - if not cover_bb and doc.loadDocument then -- try falling back to first page image + if not cover_bb and doc.loadDocument and G_reader_settings:readSetting("cover_fallback") then local img_pos = Geom:new{x = 50, y = 50} doc:gotoPage(0) doc._document:loadDocument(doc.file, false) diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index 34888217b..87f021873 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -167,6 +167,11 @@ function FileManagerMenu:setUpdateItemTable() callback = function() FileChooser:toggleShowFilesMode("show_unsupported") end, separator = true, }, + { + text = _("Use cover fallback image"), + checked_func = function() return G_reader_settings:readSetting("cover_fallback") end, + callback = function() FileChooser:toggleCoverFallback() end, + }, { text = _("Classic mode settings"), sub_item_table = { diff --git a/frontend/ui/widget/filechooser.lua b/frontend/ui/widget/filechooser.lua index 443947f98..5c49f18d8 100644 --- a/frontend/ui/widget/filechooser.lua +++ b/frontend/ui/widget/filechooser.lua @@ -24,6 +24,7 @@ local FileChooser = Menu:extend{ show_finished = G_reader_settings:readSetting("show_finished", true), -- books marked as finished show_hidden = G_reader_settings:readSetting("show_hidden", false), -- folders/files starting with "." show_unsupported = G_reader_settings:readSetting("show_unsupported", false), -- set to true to ignore file_filter + cover_fallback = G_reader_settings:readSetting("cover_fallback", false), -- set to true to use first image as cover fallback file_filter = nil, -- function defined in the caller, returns true for files to be shown -- NOTE: Input is *always* a relative entry name exclude_dirs = { -- const @@ -567,6 +568,12 @@ function FileChooser:toggleShowFilesMode(mode) self:refreshPath() end +function FileChooser:toggleCoverFallback() + local newValue = not G_reader_settings:readSetting("cover_fallback") + G_reader_settings:saveSetting("cover_fallback", newValue) + self:refreshPath() +end + function FileChooser:onMenuSelect(item) -- parent directory of dir without permission get nil mode -- we need to change to parent path in this case