From f34d7d2aace42ef62e697482b22e0228de23b6bf Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Sun, 8 Feb 2026 23:51:51 +0300 Subject: [PATCH] fix(ui): Add Back label in KOReader Sync screen (#770) ## Summary - Remove duplicate Cancel option - Add Back label image ## Result image --- ### AI Usage Did you use AI tools to help write this code? _**< PARTIALLY >**_ Closes #754 --- .../reader/KOReaderSyncActivity.cpp | 19 +++++-------------- src/activities/reader/KOReaderSyncActivity.h | 4 ++-- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/src/activities/reader/KOReaderSyncActivity.cpp b/src/activities/reader/KOReaderSyncActivity.cpp index 8846e319..31878c19 100644 --- a/src/activities/reader/KOReaderSyncActivity.cpp +++ b/src/activities/reader/KOReaderSyncActivity.cpp @@ -317,7 +317,6 @@ void KOReaderSyncActivity::render() { localProgress.percentage * 100); renderer.drawText(UI_10_FONT_ID, 20, 320, localPageStr); - // Options const int optionY = 350; const int optionHeight = 30; @@ -333,13 +332,8 @@ void KOReaderSyncActivity::render() { } renderer.drawText(UI_10_FONT_ID, 20, optionY + optionHeight, "Upload local progress", selectedOption != 1); - // Cancel option - if (selectedOption == 2) { - renderer.fillRect(0, optionY + optionHeight * 2 - 2, pageWidth - 1, optionHeight); - } - renderer.drawText(UI_10_FONT_ID, 20, optionY + optionHeight * 2, "Cancel", selectedOption != 2); - - const auto labels = mappedInput.mapLabels("", "Select", "", ""); + // Bottom button hints: show Back and Select + const auto labels = mappedInput.mapLabels("Back", "Select", "", ""); GUI.drawButtonHints(renderer, labels.btn1, labels.btn2, labels.btn3, labels.btn4); renderer.displayBuffer(); return; @@ -349,7 +343,7 @@ void KOReaderSyncActivity::render() { renderer.drawCenteredText(UI_10_FONT_ID, 280, "No remote progress found", true, EpdFontFamily::BOLD); renderer.drawCenteredText(UI_10_FONT_ID, 320, "Upload current position?"); - const auto labels = mappedInput.mapLabels("Cancel", "Upload", "", ""); + const auto labels = mappedInput.mapLabels("Back", "Upload", "", ""); GUI.drawButtonHints(renderer, labels.btn1, labels.btn2, labels.btn3, labels.btn4); renderer.displayBuffer(); return; @@ -392,11 +386,11 @@ void KOReaderSyncActivity::loop() { // Navigate options if (mappedInput.wasPressed(MappedInputManager::Button::Up) || mappedInput.wasPressed(MappedInputManager::Button::Left)) { - selectedOption = (selectedOption + 2) % 3; // Wrap around + selectedOption = (selectedOption + 1) % 2; // Wrap around among 2 options updateRequired = true; } else if (mappedInput.wasPressed(MappedInputManager::Button::Down) || mappedInput.wasPressed(MappedInputManager::Button::Right)) { - selectedOption = (selectedOption + 1) % 3; + selectedOption = (selectedOption + 1) % 2; // Wrap around among 2 options updateRequired = true; } @@ -407,9 +401,6 @@ void KOReaderSyncActivity::loop() { } else if (selectedOption == 1) { // Upload local progress performUpload(); - } else { - // Cancel - onCancel(); } } diff --git a/src/activities/reader/KOReaderSyncActivity.h b/src/activities/reader/KOReaderSyncActivity.h index dd61ffa5..b1a8dca0 100644 --- a/src/activities/reader/KOReaderSyncActivity.h +++ b/src/activities/reader/KOReaderSyncActivity.h @@ -18,7 +18,7 @@ * 1. Connect to WiFi (if not connected) * 2. Calculate document hash * 3. Fetch remote progress - * 4. Show comparison and options (Apply/Upload/Cancel) + * 4. Show comparison and options (Apply/Upload) * 5. Apply or upload progress */ class KOReaderSyncActivity final : public ActivityWithSubactivity { @@ -82,7 +82,7 @@ class KOReaderSyncActivity final : public ActivityWithSubactivity { // Local progress as KOReader format (for display) KOReaderPosition localProgress; - // Selection in result screen (0=Apply, 1=Upload, 2=Cancel) + // Selection in result screen (0=Apply, 1=Upload) int selectedOption = 0; OnCancelCallback onCancel;