Fix lost font selector
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "CrossPointSettings.h"
|
||||
#include "FontSelectionActivity.h"
|
||||
#include "MappedInputManager.h"
|
||||
#include "SdCardFontGlobals.h"
|
||||
#include "SettingActionDispatch.h"
|
||||
#include "components/UITheme.h"
|
||||
#include "fontIds.h"
|
||||
@@ -23,26 +24,6 @@ void SettingsSubmenuActivity::onActionSelected(int index) {
|
||||
const auto& setting = menuItems[index];
|
||||
if (setting.isSeparator) return;
|
||||
|
||||
if (setting.type == SettingType::ENUM && setting.nameId == StrId::STR_FONT_FAMILY) {
|
||||
startActivityForResult(
|
||||
std::make_unique<FontSelectionActivity>(renderer, mappedInput, FontSelectionActivity::Target::EPUB),
|
||||
[this](const ActivityResult&) {
|
||||
SETTINGS.saveToFile();
|
||||
needsHalfRefresh = true;
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (setting.type == SettingType::ENUM && setting.nameId == StrId::STR_TXT_FONT_FAMILY) {
|
||||
startActivityForResult(
|
||||
std::make_unique<FontSelectionActivity>(renderer, mappedInput, FontSelectionActivity::Target::TXT),
|
||||
[this](const ActivityResult&) {
|
||||
SETTINGS.saveToFile();
|
||||
needsHalfRefresh = true;
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (setting.type == SettingType::ACTION) {
|
||||
MenuResult menuResult;
|
||||
if (setting.action != SettingAction::None) {
|
||||
@@ -69,6 +50,26 @@ std::string SettingsSubmenuActivity::getItemValueString(int index) const {
|
||||
return MenuListActivity::getItemValueString(index);
|
||||
}
|
||||
|
||||
void SettingsSubmenuActivity::toggleCurrentItem() {
|
||||
if (selectedIndex < 0 || selectedIndex >= static_cast<int>(menuItems.size())) return;
|
||||
const auto& setting = menuItems[selectedIndex];
|
||||
if (setting.isSeparator) return;
|
||||
|
||||
if (setting.usesSelectorActivity) {
|
||||
const auto target = (setting.valueGetter == txtFontFamilyDynamicGetter) ? FontSelectionActivity::Target::TXT
|
||||
: FontSelectionActivity::Target::EPUB;
|
||||
startActivityForResult(std::make_unique<FontSelectionActivity>(renderer, mappedInput, target),
|
||||
[this](const ActivityResult&) {
|
||||
SETTINGS.saveToFile();
|
||||
needsHalfRefresh = true;
|
||||
requestUpdate();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
MenuListActivity::toggleCurrentItem();
|
||||
}
|
||||
|
||||
void SettingsSubmenuActivity::onSettingToggled(int /*index*/) { SETTINGS.saveToFile(); }
|
||||
|
||||
void SettingsSubmenuActivity::render(RenderLock&&) {
|
||||
|
||||
Reference in New Issue
Block a user