From 9b8d565b993cdca719a1f4127055f4ef535de33b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:13:39 +0000 Subject: [PATCH] Refactor duplicate progress bar functions into drawStatusProgressBar Co-authored-by: lukestein <44452336+lukestein@users.noreply.github.com> --- src/ScreenComponents.cpp | 15 ++------------- src/ScreenComponents.h | 3 +-- src/activities/reader/EpubReaderActivity.cpp | 4 ++-- src/activities/reader/TxtReaderActivity.cpp | 4 ++-- 4 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/ScreenComponents.cpp b/src/ScreenComponents.cpp index e119a795..e2888eb4 100644 --- a/src/ScreenComponents.cpp +++ b/src/ScreenComponents.cpp @@ -74,25 +74,14 @@ void ScreenComponents::fillPopupProgress(const GfxRenderer& renderer, const Popu renderer.displayBuffer(HalDisplay::FAST_REFRESH); } -void ScreenComponents::drawBookProgressBar(const GfxRenderer& renderer, const size_t bookProgress) { +void ScreenComponents::drawStatusProgressBar(const GfxRenderer& renderer, const size_t progress) { int vieweableMarginTop, vieweableMarginRight, vieweableMarginBottom, vieweableMarginLeft; renderer.getOrientedViewableTRBL(&vieweableMarginTop, &vieweableMarginRight, &vieweableMarginBottom, &vieweableMarginLeft); const int progressBarMaxWidth = renderer.getScreenWidth() - vieweableMarginLeft - vieweableMarginRight; const int progressBarY = renderer.getScreenHeight() - vieweableMarginBottom - PROGRESS_BAR_HEIGHT; - const int barWidth = progressBarMaxWidth * bookProgress / 100; - renderer.fillRect(vieweableMarginLeft, progressBarY, barWidth, PROGRESS_BAR_HEIGHT, true); -} - -void ScreenComponents::drawChapterProgressBar(const GfxRenderer& renderer, const size_t chapterProgress) { - int vieweableMarginTop, vieweableMarginRight, vieweableMarginBottom, vieweableMarginLeft; - renderer.getOrientedViewableTRBL(&vieweableMarginTop, &vieweableMarginRight, &vieweableMarginBottom, - &vieweableMarginLeft); - - const int progressBarMaxWidth = renderer.getScreenWidth() - vieweableMarginLeft - vieweableMarginRight; - const int progressBarY = renderer.getScreenHeight() - vieweableMarginBottom - PROGRESS_BAR_HEIGHT; - const int barWidth = progressBarMaxWidth * chapterProgress / 100; + const int barWidth = progressBarMaxWidth * progress / 100; renderer.fillRect(vieweableMarginLeft, progressBarY, barWidth, PROGRESS_BAR_HEIGHT, true); } diff --git a/src/ScreenComponents.h b/src/ScreenComponents.h index a00a1edb..2443b055 100644 --- a/src/ScreenComponents.h +++ b/src/ScreenComponents.h @@ -23,8 +23,7 @@ class ScreenComponents { }; static void drawBattery(const GfxRenderer& renderer, int left, int top, bool showPercentage = true); - static void drawBookProgressBar(const GfxRenderer& renderer, size_t bookProgress); - static void drawChapterProgressBar(const GfxRenderer& renderer, size_t chapterProgress); + static void drawStatusProgressBar(const GfxRenderer& renderer, size_t progress); static PopupLayout drawPopup(const GfxRenderer& renderer, const char* message); diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index fa85212e..d56635a7 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -541,14 +541,14 @@ void EpubReaderActivity::renderStatusBar(const int orientedMarginRight, const in 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)); + ScreenComponents::drawStatusProgressBar(renderer, static_cast(bookProgress)); } if (showChapterProgressBar) { // Draw chapter progress bar at the very bottom of the screen, from edge to edge of viewable area const float chapterProgress = (section->pageCount > 0) ? (static_cast(section->currentPage + 1) / section->pageCount) * 100 : 0; - ScreenComponents::drawChapterProgressBar(renderer, static_cast(chapterProgress)); + ScreenComponents::drawStatusProgressBar(renderer, static_cast(chapterProgress)); } if (showBattery) { diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index ef730e1a..630663dc 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -527,12 +527,12 @@ void TxtReaderActivity::renderStatusBar(const int orientedMarginRight, const int if (showProgressBar) { // Draw progress bar at the very bottom of the screen, from edge to edge of viewable area - ScreenComponents::drawBookProgressBar(renderer, static_cast(progress)); + ScreenComponents::drawStatusProgressBar(renderer, static_cast(progress)); } if (showChapterProgressBar) { // For text mode, treat the entire book as one chapter, so chapter progress == book progress - ScreenComponents::drawChapterProgressBar(renderer, static_cast(progress)); + ScreenComponents::drawStatusProgressBar(renderer, static_cast(progress)); } if (showBattery) {