@ -504,7 +504,6 @@ function ReaderFooter:init()
self.mode = self.mode_list . off
self.mode = self.mode_list . off
self.view . footer_visible = false
self.view . footer_visible = false
self : resetLayout ( )
self : resetLayout ( )
self.footer_container . dimen.h = 0
self.footer_text . height = 0
self.footer_text . height = 0
end
end
if self.settings . all_at_once then
if self.settings . all_at_once then
@ -512,9 +511,6 @@ function ReaderFooter:init()
self : updateFooterTextGenerator ( )
self : updateFooterTextGenerator ( )
if self.settings . progress_bar_position and self.has_no_mode then
if self.settings . progress_bar_position and self.has_no_mode then
self.footer_text . height = 0
self.footer_text . height = 0
if self.settings . disable_progress_bar then
self.footer_container . dimen.h = 0
end
end
end
else
else
self : applyFooterMode ( )
self : applyFooterMode ( )
@ -673,6 +669,9 @@ function ReaderFooter:resetLayout(force_reset)
if self.separator_line then
if self.separator_line then
self.separator_line . dimen.w = new_screen_width - 2 * self.horizontal_margin
self.separator_line . dimen.w = new_screen_width - 2 * self.horizontal_margin
end
end
if self.settings . disable_progress_bar then
self.progress_bar . height = 0
else
local bar_height
local bar_height
if self.settings . progress_style_thin then
if self.settings . progress_style_thin then
bar_height = self.settings . progress_style_thin_height or PROGRESS_BAR_STYLE_THIN_DEFAULT_HEIGHT
bar_height = self.settings . progress_style_thin_height or PROGRESS_BAR_STYLE_THIN_DEFAULT_HEIGHT
@ -680,6 +679,7 @@ function ReaderFooter:resetLayout(force_reset)
bar_height = self.settings . progress_style_thick_height or PROGRESS_BAR_STYLE_THICK_DEFAULT_HEIGHT
bar_height = self.settings . progress_style_thick_height or PROGRESS_BAR_STYLE_THICK_DEFAULT_HEIGHT
end
end
self.progress_bar : setHeight ( bar_height )
self.progress_bar : setHeight ( bar_height )
end
self.horizontal_group : resetLayout ( )
self.horizontal_group : resetLayout ( )
self.footer_positioner . dimen.w = new_screen_width
self.footer_positioner . dimen.w = new_screen_width
@ -834,16 +834,11 @@ function ReaderFooter:addToMainMenu(menu_items)
self.reclaim_height = self.settings . reclaim_height or false
self.reclaim_height = self.settings . reclaim_height or false
-- refresh margins position
-- refresh margins position
if self.has_no_mode then
if self.has_no_mode then
if self.settings . disable_progress_bar then
self.footer_container . dimen.h = 0
end
self.footer_text . height = 0
self.footer_text . height = 0
should_signal = true
should_signal = true
self.genFooterText = footerTextGeneratorMap.empty
self.genFooterText = footerTextGeneratorMap.empty
self.mode = self.mode_list . off
self.mode = self.mode_list . off
elseif prev_has_no_mode then
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
if self.settings . all_at_once then
self.mode = self.mode_list . page_progress
self.mode = self.mode_list . page_progress
self : applyFooterMode ( )
self : applyFooterMode ( )
@ -1381,8 +1376,6 @@ function ReaderFooter:addToMainMenu(menu_items)
callback = function ( )
callback = function ( )
self.settings . disable_progress_bar = not self.settings . disable_progress_bar
self.settings . disable_progress_bar = not self.settings . disable_progress_bar
if not self.settings . disable_progress_bar then
if not self.settings . disable_progress_bar then
self.footer_container . dimen.h = self.height
self.footer_text . height = self.height
self : setTocMarkers ( )
self : setTocMarkers ( )
self.mode = self.mode_list . page_progress
self.mode = self.mode_list . page_progress
self : applyFooterMode ( )
self : applyFooterMode ( )
@ -1847,12 +1840,12 @@ function ReaderFooter:_updateFooterText(force_repaint, force_recompute)
if self.settings . disable_progress_bar then
if self.settings . disable_progress_bar then
if self.has_no_mode or text == " " then
if self.has_no_mode or text == " " then
self.text_width = 0
self.text_width = 0
self.footer_container . dimen.h = 0
self.footer_text . height = 0
self.footer_text . height = 0
else
else
self.text_width = self.footer_text : getSize ( ) . w
self.text_width = self.footer_text : getSize ( ) . w
self.footer_text . height = self.footer_text : getSize ( ) . h
self.footer_text . height = self.footer_text : getSize ( ) . h
end
end
self.progress_bar . height = 0
self.progress_bar . width = 0
self.progress_bar . width = 0
elseif self.settings . progress_bar_position then
elseif self.settings . progress_bar_position then
if self.has_no_mode or text == " " then
if self.has_no_mode or text == " " then
@ -1876,13 +1869,6 @@ function ReaderFooter:_updateFooterText(force_repaint, force_recompute)
self.progress_bar . width = math.floor (
self.progress_bar . width = math.floor (
self._saved_screen_width - self.text_width - self.settings . progress_margin_width * 2 )
self._saved_screen_width - self.text_width - self.settings . progress_margin_width * 2 )
end
end
local bar_height
if self.settings . progress_style_thin then
bar_height = self.settings . progress_style_thin_height or PROGRESS_BAR_STYLE_THIN_DEFAULT_HEIGHT
else
bar_height = self.settings . progress_style_thick_height or PROGRESS_BAR_STYLE_THICK_DEFAULT_HEIGHT
end
self.progress_bar : setHeight ( bar_height )
if self.separator_line then
if self.separator_line then
self.separator_line . dimen.w = self._saved_screen_width - 2 * self.horizontal_margin
self.separator_line . dimen.w = self._saved_screen_width - 2 * self.horizontal_margin
@ -2134,7 +2120,13 @@ function ReaderFooter:refreshFooter(refresh, signal)
-- We *do* need to ensure we at least re-compute the footer layout, though, especially when going from visible to invisible...
-- We *do* need to ensure we at least re-compute the footer layout, though, especially when going from visible to invisible...
self : onUpdateFooter ( refresh and not signal , refresh and signal )
self : onUpdateFooter ( refresh and not signal , refresh and signal )
if signal then
if signal then
if self.ui . document.provider == " crengine " then
-- This will ultimately trigger an UpdatePos, hence a ReaderUI repaint.
self.ui : handleEvent ( Event : new ( " SetPageBottomMargin " , self.ui . document.configurable . b_page_margin ) )
self.ui : handleEvent ( Event : new ( " SetPageBottomMargin " , self.ui . document.configurable . b_page_margin ) )
else
-- No fancy chain of events outside of CRe, just ask for a ReaderUI repaint ourselves ;).
UIManager : setDirty ( self.view . dialog , " partial " )
end
end
end
end
end