From 1925f6e6530f1d1934f2d72a533d667a610f15ea Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Wed, 6 Jan 2021 18:25:13 +0100 Subject: [PATCH] ReaderFooter: * Flush mode to settings ASAP when an unrelated option updates the mode. Fixes, among other things, *enabling* the progress bar while the status bar is hidden: this showed it, but kept mode as "off". * Don't stomp on the current mode when toggling the progress bar. And *always* pop the status bar back up to see the difference, even if it's hidden. This used to be done only when *enabling* the progress bar. --- frontend/apps/reader/modules/readerfooter.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/apps/reader/modules/readerfooter.lua b/frontend/apps/reader/modules/readerfooter.lua index 6d752d0ee..848ed7093 100644 --- a/frontend/apps/reader/modules/readerfooter.lua +++ b/frontend/apps/reader/modules/readerfooter.lua @@ -872,9 +872,11 @@ function ReaderFooter:addToMainMenu(menu_items) if self.settings.all_at_once then self.mode = self.mode_list.page_progress self:applyFooterMode() + G_reader_settings:saveSetting("reader_footer_mode", self.mode) + else + G_reader_settings:saveSetting("reader_footer_mode", first_enabled_mode_num) end should_signal = true - G_reader_settings:saveSetting("reader_footer_mode", first_enabled_mode_num) elseif self.reclaim_height ~= prev_reclaim_height then should_signal = true should_update = true @@ -899,6 +901,7 @@ function ReaderFooter:addToMainMenu(menu_items) end should_update = true self:applyFooterMode() + G_reader_settings:saveSetting("reader_footer_mode", self.mode) end if should_update or should_signal then self:refreshFooter(should_update, should_signal) @@ -1370,8 +1373,12 @@ function ReaderFooter:addToMainMenu(menu_items) self.settings.disable_progress_bar = not self.settings.disable_progress_bar if not self.settings.disable_progress_bar then self:setTocMarkers() + end + -- If the status bar is currently disabled, switch to an innocuous mode to display it + if not self.view.footer_visible then self.mode = self.mode_list.page_progress self:applyFooterMode() + G_reader_settings:saveSetting("reader_footer_mode", self.mode) end self:refreshFooter(true, true) end,