Merge origin/master

Resolves conflicts in CrossPointSettings.cpp and SettingsActivity.cpp:
- Combines opdsServerUrl (feature branch) with screenMargin and
  sleepScreenCoverMode (master) in settings persistence
- Updates settings count to 16 persisted fields
- Merges settings UI to include all new settings plus Calibre Settings action
- Adopts new SettingInfo factory pattern from master
This commit is contained in:
Justin Mitchell
2026-01-05 11:46:05 -05:00
13 changed files with 155 additions and 87 deletions

View File

@@ -16,7 +16,8 @@ class CrossPointSettings {
CrossPointSettings& operator=(const CrossPointSettings&) = delete;
// Should match with SettingsActivity text
enum SLEEP_SCREEN_MODE { DARK = 0, LIGHT = 1, CUSTOM = 2, COVER = 3 };
enum SLEEP_SCREEN_MODE { DARK = 0, LIGHT = 1, CUSTOM = 2, COVER = 3, BLANK = 4 };
enum SLEEP_SCREEN_COVER_MODE { FIT = 0, CROP = 1 };
// Status bar display type enum
enum STATUS_BAR_MODE { NONE = 0, NO_PROGRESS = 1, FULL = 2 };
@@ -53,6 +54,8 @@ class CrossPointSettings {
// Sleep screen settings
uint8_t sleepScreen = DARK;
// Sleep screen cover mode settings
uint8_t sleepScreenCoverMode = FIT;
// Status bar settings
uint8_t statusBar = FULL;
// Text rendering settings
@@ -77,6 +80,9 @@ class CrossPointSettings {
// OPDS browser settings
char opdsServerUrl[128] = "";
// Reader screen margin settings
uint8_t screenMargin = 5;
~CrossPointSettings() = default;
// Get singleton instance
@@ -91,6 +97,7 @@ class CrossPointSettings {
float getReaderLineCompression() const;
unsigned long getSleepTimeoutMs() const;
int getRefreshFrequency() const;
int getReaderScreenMargin() const;
};
// Helper macro to access settings