x
This commit is contained in:
pc0124 2026-01-17 16:03:37 +08:00 committed by GitHub
parent 21277e03eb
commit d123e99ca9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 2 deletions

View File

@ -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();

View File

@ -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;