@@ -62,6 +62,16 @@ void SettingsActivity::onEnter() {
|
|||||||
vec.push_back(std::move(s));
|
vec.push_back(std::move(s));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool sawReaderFontSection = false;
|
||||||
|
bool insertedFontDownload = false;
|
||||||
|
|
||||||
|
auto insertFontDownloadBelowFontSection = [&]() {
|
||||||
|
auto fontDownload = SettingInfo::Action(StrId::STR_FONT_DOWNLOAD, SettingAction::DownloadFonts);
|
||||||
|
fontDownload.withSubcategory(StrId::STR_MENU_READER_FONT);
|
||||||
|
addToMoved(readerSettings, lastReaderSub, std::move(fontDownload));
|
||||||
|
insertedFontDownload = true;
|
||||||
|
};
|
||||||
|
|
||||||
for (const auto& setting : getSettingsList()) {
|
for (const auto& setting : getSettingsList()) {
|
||||||
if (setting.category == StrId::STR_NONE_OPT) continue;
|
if (setting.category == StrId::STR_NONE_OPT) continue;
|
||||||
if (setting.category == StrId::STR_CAT_SYSTEM &&
|
if (setting.category == StrId::STR_CAT_SYSTEM &&
|
||||||
@@ -78,6 +88,14 @@ void SettingsActivity::onEnter() {
|
|||||||
enriched.enumLabels.reserve(n);
|
enriched.enumLabels.reserve(n);
|
||||||
for (uint8_t i = 0; i < n; i++) enriched.enumLabels.push_back(fontFamilyOptionLabel(i));
|
for (uint8_t i = 0; i < n; i++) enriched.enumLabels.push_back(fontFamilyOptionLabel(i));
|
||||||
}
|
}
|
||||||
|
const bool isReaderFontEntry =
|
||||||
|
enriched.category == StrId::STR_CAT_READER && (enriched.subcategory == StrId::STR_MENU_READER_FONT ||
|
||||||
|
enriched.submenu == StrId::STR_MENU_READER_FONT_SETTINGS);
|
||||||
|
|
||||||
|
if (!insertedFontDownload && sawReaderFontSection && !isReaderFontEntry) {
|
||||||
|
insertFontDownloadBelowFontSection();
|
||||||
|
}
|
||||||
|
|
||||||
if (enriched.category == StrId::STR_CAT_DISPLAY) {
|
if (enriched.category == StrId::STR_CAT_DISPLAY) {
|
||||||
addTo(displaySettings, lastDisplaySub, enriched);
|
addTo(displaySettings, lastDisplaySub, enriched);
|
||||||
} else if (enriched.category == StrId::STR_CAT_READER) {
|
} else if (enriched.category == StrId::STR_CAT_READER) {
|
||||||
@@ -87,9 +105,15 @@ void SettingsActivity::onEnter() {
|
|||||||
} else if (enriched.category == StrId::STR_CAT_SYSTEM) {
|
} else if (enriched.category == StrId::STR_CAT_SYSTEM) {
|
||||||
addTo(systemSettings, lastSystemSub, enriched);
|
addTo(systemSettings, lastSystemSub, enriched);
|
||||||
}
|
}
|
||||||
|
if (isReaderFontEntry) sawReaderFontSection = true;
|
||||||
|
|
||||||
// Web-only categories (KOReader Sync, OPDS Browser) are skipped for device UI
|
// Web-only categories (KOReader Sync, OPDS Browser) are skipped for device UI
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!insertedFontDownload && sawReaderFontSection) {
|
||||||
|
insertFontDownloadBelowFontSection();
|
||||||
|
}
|
||||||
|
|
||||||
// Device-only ACTION items — subcategory drives separator insertion automatically.
|
// Device-only ACTION items — subcategory drives separator insertion automatically.
|
||||||
controlsSettings.insert(controlsSettings.begin(),
|
controlsSettings.insert(controlsSettings.begin(),
|
||||||
SettingInfo::Action(StrId::STR_REMAP_FRONT_BUTTONS, SettingAction::RemapFrontButtons));
|
SettingInfo::Action(StrId::STR_REMAP_FRONT_BUTTONS, SettingAction::RemapFrontButtons));
|
||||||
@@ -97,9 +121,6 @@ void SettingsActivity::onEnter() {
|
|||||||
|
|
||||||
addToMoved(readerSettings, lastReaderSub,
|
addToMoved(readerSettings, lastReaderSub,
|
||||||
SettingInfo::Action(StrId::STR_CUSTOMISE_STATUS_BAR, SettingAction::CustomiseStatusBar));
|
SettingInfo::Action(StrId::STR_CUSTOMISE_STATUS_BAR, SettingAction::CustomiseStatusBar));
|
||||||
addToMoved(readerSettings, lastReaderSub,
|
|
||||||
std::move(SettingInfo::Action(StrId::STR_FONT_DOWNLOAD, SettingAction::DownloadFonts)
|
|
||||||
.withSubcategory(StrId::STR_MENU_READER_FONT)));
|
|
||||||
|
|
||||||
addToMoved(systemSettings, lastSystemSub, SettingInfo::Action(StrId::STR_LANGUAGE, SettingAction::Language));
|
addToMoved(systemSettings, lastSystemSub, SettingInfo::Action(StrId::STR_LANGUAGE, SettingAction::Language));
|
||||||
addToMoved(systemSettings, lastSystemSub,
|
addToMoved(systemSettings, lastSystemSub,
|
||||||
@@ -111,9 +132,6 @@ void SettingsActivity::onEnter() {
|
|||||||
addToMoved(systemSettings, lastSystemSub,
|
addToMoved(systemSettings, lastSystemSub,
|
||||||
std::move(SettingInfo::Action(StrId::STR_OPDS_BROWSER, SettingAction::OPDSBrowser)
|
std::move(SettingInfo::Action(StrId::STR_OPDS_BROWSER, SettingAction::OPDSBrowser)
|
||||||
.withSubcategory(StrId::STR_MENU_SYS_NETWORK)));
|
.withSubcategory(StrId::STR_MENU_SYS_NETWORK)));
|
||||||
addToMoved(systemSettings, lastSystemSub,
|
|
||||||
std::move(SettingInfo::Action(StrId::STR_FONT_DOWNLOAD, SettingAction::DownloadFonts)
|
|
||||||
.withSubcategory(StrId::STR_MENU_SYS_NETWORK)));
|
|
||||||
addToMoved(systemSettings, lastSystemSub,
|
addToMoved(systemSettings, lastSystemSub,
|
||||||
std::move(SettingInfo::Action(StrId::STR_CLOCK_SETTINGS, SettingAction::ClockSettings)
|
std::move(SettingInfo::Action(StrId::STR_CLOCK_SETTINGS, SettingAction::ClockSettings)
|
||||||
.withSubcategory(StrId::STR_MENU_SYS_TOOLS)));
|
.withSubcategory(StrId::STR_MENU_SYS_TOOLS)));
|
||||||
|
|||||||
Reference in New Issue
Block a user