mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Fix footer with no_mode/disabled progress bar (#5491)
This commit is contained in:
@@ -288,10 +288,17 @@ function ReaderFooter:init()
|
||||
self.mode = self.mode_list.off
|
||||
self.view.footer_visible = false
|
||||
self:resetLayout()
|
||||
self.footer_container.dimen.h = 0
|
||||
self.footer_text.height = 0
|
||||
|
||||
end
|
||||
if self.settings.all_at_once then
|
||||
self.view.footer_visible = (self.mode ~= self.mode_list.off)
|
||||
self:updateFooterTextGenerator()
|
||||
if self.settings.progress_bar_position and self.has_no_mode then
|
||||
self.footer_container.dimen.h = 0
|
||||
self.footer_text.height = 0
|
||||
end
|
||||
else
|
||||
self:applyFooterMode()
|
||||
end
|
||||
@@ -586,10 +593,18 @@ function ReaderFooter:addToMainMenu(menu_items)
|
||||
self.reclaim_height = self.settings.reclaim_height or false
|
||||
-- refresh margins position
|
||||
if self.has_no_mode then
|
||||
self.footer_container.dimen.h = 0
|
||||
self.footer_text.height = 0
|
||||
self.ui:handleEvent(Event:new("SetPageBottomMargin", self.view.document.configurable.b_page_margin))
|
||||
self.genFooterText = footerTextGeneratorMap.empty
|
||||
self.mode = self.mode_list.off
|
||||
elseif prev_has_no_mode then
|
||||
self.footer_container.dimen.h = self.height
|
||||
self.footer_text.height = self.height
|
||||
if self.settings.all_at_once then
|
||||
self.mode = self.mode_list.page_progress
|
||||
self:applyFooterMode()
|
||||
end
|
||||
self.ui:handleEvent(Event:new("SetPageBottomMargin", self.view.document.configurable.b_page_margin))
|
||||
G_reader_settings:saveSetting("reader_footer_mode", first_enabled_mode_num)
|
||||
elseif self.reclaim_height ~= prev_reclaim_height then
|
||||
@@ -612,8 +627,7 @@ function ReaderFooter:addToMainMenu(menu_items)
|
||||
self:applyFooterMode()
|
||||
end
|
||||
if should_update then
|
||||
self:updateFooter()
|
||||
UIManager:setDirty(nil, "ui")
|
||||
self:refreshFooter(true, true)
|
||||
end
|
||||
end,
|
||||
}
|
||||
@@ -930,12 +944,14 @@ function ReaderFooter:addToMainMenu(menu_items)
|
||||
end,
|
||||
callback = function()
|
||||
self.settings.disable_progress_bar = not self.settings.disable_progress_bar
|
||||
self:setTocMarkers()
|
||||
if self.settings.progress_bar_position == "above" then
|
||||
self:refreshFooter(true, true)
|
||||
else
|
||||
self:refreshFooter(true)
|
||||
if not self.settings.disable_progress_bar then
|
||||
self.footer_container.dimen.h = self.height
|
||||
self.footer_text.height = self.height
|
||||
self:setTocMarkers()
|
||||
self.mode = self.mode_list.page_progress
|
||||
self:applyFooterMode()
|
||||
end
|
||||
self:refreshFooter(true, true)
|
||||
end,
|
||||
},
|
||||
{
|
||||
@@ -1264,11 +1280,17 @@ function ReaderFooter:_updateFooterText(force_repaint)
|
||||
if self.settings.disable_progress_bar then
|
||||
if self.has_no_mode or not text then
|
||||
self.text_width = 0
|
||||
self.footer_container.dimen.h = 0
|
||||
self.footer_text.height = 0
|
||||
else
|
||||
self.text_width = self.footer_text:getSize().w
|
||||
end
|
||||
self.progress_bar.width = 0
|
||||
elseif self.settings.progress_bar_position then
|
||||
if text == "" then
|
||||
self.footer_container.dimen.h = 0
|
||||
self.footer_text.height = 0
|
||||
end
|
||||
self.progress_bar.width = math.floor(self._saved_screen_width - 2 * self.settings.progress_margin_width)
|
||||
self.text_width = self.footer_text:getSize().w
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user