From d123e99ca95abfa1e2a60e0fdd04a55aaa9c11d6 Mon Sep 17 00:00:00 2001 From: pc0124 Date: Sat, 17 Jan 2026 16:03:37 +0800 Subject: [PATCH] x x --- src/CrossPointSettings.cpp | 5 ++++- src/CrossPointSettings.h | 14 +++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/CrossPointSettings.cpp b/src/CrossPointSettings.cpp index 17b5d053..ace4db7e 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 = 18; +constexpr uint8_t SETTINGS_COUNT = 19; constexpr char SETTINGS_FILE[] = "/.crosspoint/settings.bin"; } // namespace @@ -48,6 +48,7 @@ bool CrossPointSettings::saveToFile() const { serialization::writePod(outputFile, textAntiAliasing); serialization::writePod(outputFile, hideBatteryPercentage); serialization::writePod(outputFile, longPressChapterSkip); + serialization::writePod(outputFile, indentParagraph); outputFile.close(); Serial.printf("[%lu] [CPS] Settings saved to file\n", millis()); @@ -116,6 +117,8 @@ bool CrossPointSettings::loadFromFile() { if (++settingsRead >= fileSettingsCount) break; serialization::readPod(inputFile, longPressChapterSkip); if (++settingsRead >= fileSettingsCount) break; + serialization::readPod(inputFile, indentParagraph); + if (++settingsRead >= fileSettingsCount) break; } while (false); inputFile.close(); diff --git a/src/CrossPointSettings.h b/src/CrossPointSettings.h index a5641aad..6845639c 100644 --- a/src/CrossPointSettings.h +++ b/src/CrossPointSettings.h @@ -58,6 +58,17 @@ class CrossPointSettings { // Hide battery percentage enum HIDE_BATTERY_PERCENTAGE { HIDE_NEVER = 0, HIDE_READER = 1, HIDE_ALWAYS = 2 }; + // Paragraph spacing options + enum PARAGRAPH_SPACING { + SPACING_NONE = 0, + SPACING_0_3X = 1, + SPACING_0_5X = 2, + SPACING_0_8X = 3, + SPACING_1_0X = 4, + SPACING_1_2X = 5, + SPACING_1_4X = 6 + }; + // Sleep screen settings uint8_t sleepScreen = DARK; // Sleep screen cover mode settings @@ -65,7 +76,8 @@ class CrossPointSettings { // Status bar settings uint8_t statusBar = FULL; // Text rendering settings - uint8_t extraParagraphSpacing = 1; + uint8_t indentParagraph = 1; // 0-3: number of em-spaces to indent paragraph + uint8_t extraParagraphSpacing = SPACING_1_0X; // 0-6: spacing (0, 0.3x, 0.5x, 0.8x, 1x, 1.2x, 1.4x) uint8_t textAntiAliasing = 1; // Short power button click behaviour uint8_t shortPwrBtn = IGNORE;