Merge branch 'feat-invalid-toc-fallback' of https://github.com/jpirnay/crosspoint-reader into mybuild

This commit is contained in:
jpirnay
2026-03-27 17:29:45 +01:00
14 changed files with 162 additions and 7 deletions
+2
View File
@@ -202,6 +202,8 @@ class CrossPointSettings {
uint8_t showHiddenFiles = 0;
// Image rendering mode in EPUB reader
uint8_t imageRendering = IMAGES_DISPLAY;
// Enable synthetic TOC fallback for malformed/sparse TOC books (1 = enabled, 0 = disabled)
uint8_t syntheticTocFallback = 1;
~CrossPointSettings() = default;
+2
View File
@@ -67,6 +67,8 @@ inline const std::vector<SettingInfo>& getSettingsList() {
SettingInfo::Enum(StrId::STR_IMAGES, &CrossPointSettings::imageRendering,
{StrId::STR_IMAGES_DISPLAY, StrId::STR_IMAGES_PLACEHOLDER, StrId::STR_IMAGES_SUPPRESS},
"imageRendering", StrId::STR_CAT_READER),
SettingInfo::Toggle(StrId::STR_CREATE_FALLBACK_FOR_INVALID_TOC, &CrossPointSettings::syntheticTocFallback,
"syntheticTocFallback", StrId::STR_CAT_READER),
// --- Controls ---
SettingInfo::Enum(StrId::STR_SIDE_BTN_LAYOUT, &CrossPointSettings::sideButtonLayout,
{StrId::STR_PREV_NEXT, StrId::STR_NEXT_PREV}, "sideButtonLayout", StrId::STR_CAT_CONTROLS),
+1
View File
@@ -37,6 +37,7 @@ std::unique_ptr<Epub> ReaderActivity::loadEpub(const std::string& path) {
}
auto epub = std::unique_ptr<Epub>(new Epub(path, "/.crosspoint"));
epub->setSyntheticTocFallbackEnabled(SETTINGS.syntheticTocFallback != 0);
if (epub->load(true, SETTINGS.embeddedStyle == 0)) {
return epub;
}