Polishing merge commit for custom fonts

This commit is contained in:
bean 2026-01-25 20:34:12 -05:00
parent 602ed7daaf
commit 3a7db1ac00
2 changed files with 15 additions and 1 deletions

View File

@ -110,7 +110,7 @@ void MyLibraryActivity::loadFiles() {
char name[500]; char name[500];
for (auto file = root.openNextFile(); file; file = root.openNextFile()) { for (auto file = root.openNextFile(); file; file = root.openNextFile()) {
file.getName(name, sizeof(name)); file.getName(name, sizeof(name));
if (name[0] == '.' || strcmp(name, "System Volume Information") == 0) { if (name[0] == '.' || strcmp(name, "System Volume Information") == 0 || strcmp(name, "fonts")) {
file.close(); file.close();
continue; continue;
} }

View File

@ -11,6 +11,7 @@
#include "KOReaderSettingsActivity.h" #include "KOReaderSettingsActivity.h"
#include "MappedInputManager.h" #include "MappedInputManager.h"
#include "OtaUpdateActivity.h" #include "OtaUpdateActivity.h"
#include "FontSelectionActivity.h"
#include "fontIds.h" #include "fontIds.h"
void CategorySettingsActivity::taskTrampoline(void* param) { void CategorySettingsActivity::taskTrampoline(void* param) {
@ -127,6 +128,14 @@ void CategorySettingsActivity::toggleCurrentSetting() {
updateRequired = true; updateRequired = true;
})); }));
xSemaphoreGive(renderingMutex); xSemaphoreGive(renderingMutex);
} else if (strcmp(setting.name, "Set Custom Font Family") == 0) {
xSemaphoreTake(renderingMutex, portMAX_DELAY);
exitActivity();
enterNewActivity(new FontSelectionActivity(renderer, mappedInput, [this] {
exitActivity();
updateRequired = true;
}));
xSemaphoreGive(renderingMutex);
} }
} else { } else {
return; return;
@ -176,6 +185,11 @@ void CategorySettingsActivity::render() const {
valueText = settingsList[i].enumValues[value]; valueText = settingsList[i].enumValues[value];
} else if (settingsList[i].type == SettingType::VALUE && settingsList[i].valuePtr != nullptr) { } else if (settingsList[i].type == SettingType::VALUE && settingsList[i].valuePtr != nullptr) {
valueText = std::to_string(SETTINGS.*(settingsList[i].valuePtr)); valueText = std::to_string(SETTINGS.*(settingsList[i].valuePtr));
} else if (settingsList[i].type == SettingType::ACTION &&
strcmp(settingsList[i].name, "Set Custom Font Family") == 0) {
if (SETTINGS.fontFamily == CrossPointSettings::FONT_CUSTOM) {
valueText = SETTINGS.customFontFamily;
}
} }
if (!valueText.empty()) { if (!valueText.empty()) {
const auto width = renderer.getTextWidth(UI_10_FONT_ID, valueText.c_str()); const auto width = renderer.getTextWidth(UI_10_FONT_ID, valueText.c_str());