feat: silent pre-indexing with configurable status bar indicator

Port PR #979's silent pre-indexing and add an Indexing Display setting
(Popup / Status Bar Text / Status Bar Icon) so users can choose how
indexing feedback is shown.

Silent pre-indexing runs on text-only penultimate pages when a status
bar option is selected, with a standard requestUpdate to clear the
indicator. Image pages skip silent indexing to avoid e-ink grayscale
pipeline conflicts; the normal popup handles those transitions. Direct
chapter jumps always show the original small popup regardless of setting.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
cottongin
2026-02-19 09:30:29 -05:00
parent a1ac11ab51
commit 426a978e44
14 changed files with 143 additions and 3 deletions

View File

@@ -143,6 +143,7 @@ uint8_t CrossPointSettings::writeSettings(FsFile& file, bool count_only) const {
writer.writeItem(file, clockSize);
writer.writeItem(file, timezone);
writer.writeItem(file, timezoneOffsetHours);
writer.writeItem(file, indexingDisplay);
return writer.item_count;
}
@@ -285,6 +286,8 @@ bool CrossPointSettings::loadFromFile() {
serialization::readPod(inputFile, timezoneOffsetHours);
if (timezoneOffsetHours < -12 || timezoneOffsetHours > 14) timezoneOffsetHours = 0;
if (++settingsRead >= fileSettingsCount) break;
readAndValidate(inputFile, indexingDisplay, INDEXING_DISPLAY_COUNT);
if (++settingsRead >= fileSettingsCount) break;
} while (false);
if (frontButtonMappingRead) {