From 7d77b3c1beb1edf5ac180322b458da476031f57c Mon Sep 17 00:00:00 2001 From: Sam Davis Date: Fri, 23 Jan 2026 20:04:59 +1100 Subject: [PATCH] Remove progress precision setting, hardcode to 0 decimals --- src/CrossPointSettings.cpp | 5 +---- src/CrossPointSettings.h | 5 ----- src/activities/reader/EpubReaderActivity.cpp | 3 +-- src/activities/settings/SettingsActivity.cpp | 4 +--- 4 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/CrossPointSettings.cpp b/src/CrossPointSettings.cpp index 2d817ef3..f5e8ded5 100644 --- a/src/CrossPointSettings.cpp +++ b/src/CrossPointSettings.cpp @@ -14,7 +14,7 @@ CrossPointSettings CrossPointSettings::instance; namespace { constexpr uint8_t SETTINGS_FILE_VERSION = 1; // Increment this when adding new persisted settings fields -constexpr uint8_t SETTINGS_COUNT = 21; +constexpr uint8_t SETTINGS_COUNT = 20; constexpr char SETTINGS_FILE[] = "/.crosspoint/settings.bin"; } // namespace @@ -49,7 +49,6 @@ bool CrossPointSettings::saveToFile() const { serialization::writePod(outputFile, hideBatteryPercentage); serialization::writePod(outputFile, longPressChapterSkip); serialization::writePod(outputFile, hyphenationEnabled); - serialization::writePod(outputFile, bookProgressPrecision); outputFile.close(); Serial.printf("[%lu] [CPS] Settings saved to file\n", millis()); @@ -121,8 +120,6 @@ bool CrossPointSettings::loadFromFile() { if (++settingsRead >= fileSettingsCount) break; serialization::readPod(inputFile, hyphenationEnabled); if (++settingsRead >= fileSettingsCount) break; - serialization::readPod(inputFile, bookProgressPrecision); - if (++settingsRead >= fileSettingsCount) break; } while (false); inputFile.close(); diff --git a/src/CrossPointSettings.h b/src/CrossPointSettings.h index 29675a35..8ce32a2c 100644 --- a/src/CrossPointSettings.h +++ b/src/CrossPointSettings.h @@ -22,9 +22,6 @@ class CrossPointSettings { // Status bar display type enum enum STATUS_BAR_MODE { NONE = 0, NO_PROGRESS = 1, FULL = 2 }; - // Book progress precision (decimal places) - enum BOOK_PROGRESS_PRECISION { PROGRESS_0_DECIMALS = 0, PROGRESS_1_DECIMAL = 1, PROGRESS_2_DECIMALS = 2 }; - enum ORIENTATION { PORTRAIT = 0, // 480x800 logical coordinates (current default) LANDSCAPE_CW = 1, // 800x480 logical coordinates, rotated 180° (swap top/bottom) @@ -97,8 +94,6 @@ class CrossPointSettings { uint8_t hideBatteryPercentage = HIDE_NEVER; // Long-press chapter skip on side buttons uint8_t longPressChapterSkip = 1; - // Book progress precision (decimal places) - uint8_t bookProgressPrecision = PROGRESS_0_DECIMALS; ~CrossPointSettings() = default; diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index 4754d939..a2e14259 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -448,8 +448,7 @@ void EpubReaderActivity::renderStatusBar(const int orientedMarginRight, const in // Right aligned text for progress counter char progressStr[32]; - int precision = SETTINGS.bookProgressPrecision; - snprintf(progressStr, sizeof(progressStr), "%d/%d %.*f%%", section->currentPage + 1, section->pageCount, precision, + snprintf(progressStr, sizeof(progressStr), "%d/%d %.0f%%", section->currentPage + 1, section->pageCount, bookProgress); const std::string progress = progressStr; progressTextWidth = renderer.getTextWidth(SMALL_FONT_ID, progress.c_str()); diff --git a/src/activities/settings/SettingsActivity.cpp b/src/activities/settings/SettingsActivity.cpp index 106b8bf0..943fdb4c 100644 --- a/src/activities/settings/SettingsActivity.cpp +++ b/src/activities/settings/SettingsActivity.cpp @@ -11,14 +11,12 @@ const char* SettingsActivity::categoryNames[categoryCount] = {"Display", "Reader", "Controls", "System"}; namespace { -constexpr int displaySettingsCount = 6; +constexpr int displaySettingsCount = 5; const SettingInfo displaySettings[displaySettingsCount] = { // Should match with SLEEP_SCREEN_MODE SettingInfo::Enum("Sleep Screen", &CrossPointSettings::sleepScreen, {"Dark", "Light", "Custom", "Cover", "None"}), SettingInfo::Enum("Sleep Screen Cover Mode", &CrossPointSettings::sleepScreenCoverMode, {"Fit", "Crop"}), SettingInfo::Enum("Status Bar", &CrossPointSettings::statusBar, {"None", "No Progress", "Full"}), - SettingInfo::Enum("Progress % decimals", &CrossPointSettings::bookProgressPrecision, - {"0 decimals", "1 decimal", "2 decimals"}), SettingInfo::Enum("Hide Battery %", &CrossPointSettings::hideBatteryPercentage, {"Never", "In Reader", "Always"}), SettingInfo::Enum("Refresh Frequency", &CrossPointSettings::refreshFrequency, {"1 page", "5 pages", "10 pages", "15 pages", "30 pages"})};