From 0b9a2c77d74d80aaa388d77e621ff1f2db563ff0 Mon Sep 17 00:00:00 2001 From: Luke Stein <44452336+lukestein@users.noreply.github.com> Date: Sat, 31 Jan 2026 22:56:26 -0500 Subject: [PATCH] Fix progress bar vertical alignment --- src/activities/reader/EpubReaderActivity.cpp | 13 ++++++------- src/activities/reader/TxtReaderActivity.cpp | 6 +++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index 906dc77e..e87cadfb 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -290,7 +290,8 @@ void EpubReaderActivity::renderScreen() { if (SETTINGS.statusBar != CrossPointSettings::STATUS_BAR_MODE::NONE) { // Add additional margin for status bar if progress bar is shown const bool showProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || - SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; + SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR || + SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::CHAPTER_PROGRESS_BAR; orientedMarginBottom += statusBarMargin - SETTINGS.screenMargin + (showProgressBar ? (ScreenComponents::PROGRESS_BAR_HEIGHT + progressBarMarginTop) : 0); } @@ -465,8 +466,8 @@ void EpubReaderActivity::renderStatusBar(const int orientedMarginRight, const in const int orientedMarginLeft) const { // determine visible status bar elements const bool showProgressPercentage = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL; - const bool showProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || - SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; + const bool showBookProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || + SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; const bool showChapterProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::CHAPTER_PROGRESS_BAR; const bool showProgressText = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL || SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR; @@ -484,9 +485,7 @@ void EpubReaderActivity::renderStatusBar(const int orientedMarginRight, const in // Position status bar near the bottom of the logical screen, regardless of orientation const auto screenHeight = renderer.getScreenHeight(); - // Adjust text position upward when progress bar is shown to avoid overlap - const auto textY = screenHeight - orientedMarginBottom - 4 - - ((showProgressBar || showChapterProgressBar) ? ScreenComponents::PROGRESS_BAR_HEIGHT + 2 : 0); + const auto textY = screenHeight - orientedMarginBottom - 4; int progressTextWidth = 0; // Calculate progress in book @@ -512,7 +511,7 @@ void EpubReaderActivity::renderStatusBar(const int orientedMarginRight, const in progressStr); } - if (showProgressBar) { + if (showBookProgressBar) { // Draw progress bar at the very bottom of the screen, from edge to edge of viewable area ScreenComponents::drawBookProgressBar(renderer, static_cast(bookProgress)); } diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index 7c1daf08..689d6852 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -172,7 +172,8 @@ void TxtReaderActivity::initializeReader() { if (SETTINGS.statusBar != CrossPointSettings::STATUS_BAR_MODE::NONE) { // Add additional margin for status bar if progress bar is shown const bool showProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || - SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; + SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR || + SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::CHAPTER_PROGRESS_BAR; orientedMarginBottom += statusBarMargin - cachedScreenMargin + (showProgressBar ? (ScreenComponents::PROGRESS_BAR_HEIGHT + progressBarMarginTop) : 0); } @@ -536,8 +537,7 @@ void TxtReaderActivity::renderStatusBar(const int orientedMarginRight, const int const auto screenHeight = renderer.getScreenHeight(); // Adjust text position upward when progress bar is shown to avoid overlap - const auto textY = screenHeight - orientedMarginBottom - 4 - - ((showProgressBar || showChapterProgressBar) ? ScreenComponents::PROGRESS_BAR_HEIGHT + 2 : 0); + const auto textY = screenHeight - orientedMarginBottom - 4; int progressTextWidth = 0; const float progress = totalPages > 0 ? (currentPage + 1) * 100.0f / totalPages : 0;