And even more

This commit is contained in:
jpirnay
2026-04-24 14:48:12 +02:00
parent 5068817549
commit 4cfd031cab
2 changed files with 26 additions and 5 deletions
@@ -202,6 +202,16 @@ EpubReaderMenuActivity::MenuAction EpubReaderMenuActivity::actionForNameId(StrId
}
}
EpubReaderMenuActivity::MenuAction EpubReaderMenuActivity::actionForSettingAction(SettingAction action) {
switch (action) {
case SettingAction::None:
case SettingAction::Submenu:
return MenuAction::NONE;
default:
return MenuAction::NONE;
}
}
void EpubReaderMenuActivity::finishWithAction(MenuAction action) {
setResult(MenuResult{static_cast<int>(action), -1, pendingOrientation, selectedPageTurnOption,
pendingEmbeddedStyleOverride, pendingImageRenderingOverride, pendingFontFamilyOverride,
@@ -329,11 +339,21 @@ void EpubReaderMenuActivity::openSubmenu(const SettingInfo& submenuEntry) {
[this](const ActivityResult& result) {
if (!result.isCancelled) {
const auto* menuResult = std::get_if<MenuResult>(&result.data);
if (menuResult && menuResult->nameId != -1) {
const auto action = actionForNameId(static_cast<StrId>(menuResult->nameId));
if (action != MenuAction::NONE) {
finishWithAction(action);
return;
if (menuResult) {
if (menuResult->action != -1) {
const auto action =
actionForSettingAction(static_cast<SettingAction>(menuResult->action));
if (action != MenuAction::NONE) {
finishWithAction(action);
return;
}
}
if (menuResult->nameId != -1) {
const auto action = actionForNameId(static_cast<StrId>(menuResult->nameId));
if (action != MenuAction::NONE) {
finishWithAction(action);
return;
}
}
}
}