Add forgotten entries to override menu
This commit is contained in:
@@ -2797,7 +2797,8 @@ void EpubReaderActivity::openReaderMenu() {
|
|||||||
renderer, mappedInput, epub->getTitle(), currentPage, totalPages, bookProgressPercent, SETTINGS.orientation,
|
renderer, mappedInput, epub->getTitle(), currentPage, totalPages, bookProgressPercent, SETTINGS.orientation,
|
||||||
!currentPageFootnotes.empty(), bookEmbeddedStyleOverride, bookImageRenderingOverride, bookFontFamilyOverride,
|
!currentPageFootnotes.empty(), bookEmbeddedStyleOverride, bookImageRenderingOverride, bookFontFamilyOverride,
|
||||||
bookSdFontFamilyOverride, bookFontSizeOverride, SETTINGS.textDarkness, getEffectiveBionicReading(),
|
bookSdFontFamilyOverride, bookFontSizeOverride, SETTINGS.textDarkness, getEffectiveBionicReading(),
|
||||||
bookParagraphAlignmentOverride, !bookmarkStore.isEmpty(), isCurrentPageStarred, hasPrintedPages),
|
bookParagraphAlignmentOverride, bookTextAntiAliasingOverride, bookHyphenationOverride,
|
||||||
|
!bookmarkStore.isEmpty(), isCurrentPageStarred, hasPrintedPages),
|
||||||
[this](const ActivityResult& result) {
|
[this](const ActivityResult& result) {
|
||||||
const auto& menu = std::get<MenuResult>(result.data);
|
const auto& menu = std::get<MenuResult>(result.data);
|
||||||
applyOrientation(menu.orientation);
|
applyOrientation(menu.orientation);
|
||||||
@@ -2805,7 +2806,8 @@ void EpubReaderActivity::openReaderMenu() {
|
|||||||
toggleAutoPageTurn(menu.pageTurnOption);
|
toggleAutoPageTurn(menu.pageTurnOption);
|
||||||
applyBookReaderOverrides(menu.embeddedStyleOverride, menu.imageRenderingOverride, menu.fontFamilyOverride,
|
applyBookReaderOverrides(menu.embeddedStyleOverride, menu.imageRenderingOverride, menu.fontFamilyOverride,
|
||||||
menu.sdFontFamilyOverride, menu.fontSizeOverride,
|
menu.sdFontFamilyOverride, menu.fontSizeOverride,
|
||||||
static_cast<bool>(menu.bionicReadingOverride), menu.paragraphAlignmentOverride);
|
static_cast<bool>(menu.bionicReadingOverride), menu.paragraphAlignmentOverride,
|
||||||
|
menu.textAntiAliasingOverride, menu.hyphenationOverride);
|
||||||
if (!result.isCancelled) {
|
if (!result.isCancelled) {
|
||||||
onReaderMenuConfirm(static_cast<EpubReaderMenuActivity::MenuAction>(menu.action));
|
onReaderMenuConfirm(static_cast<EpubReaderMenuActivity::MenuAction>(menu.action));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,24 @@
|
|||||||
#include "fontIds.h"
|
#include "fontIds.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
// Three-state cycle helper for overrides represented as int8_t with -1 = default.
|
||||||
|
// Mirrors the helpers in QuickOverridesActivity.cpp; kept duplicated rather
|
||||||
|
// than extracted so each activity stays self-contained for 16 lines of code.
|
||||||
|
// slot 0 -> -1 (default)
|
||||||
|
// slot 1 -> 1 (on)
|
||||||
|
// slot 2 -> 0 (off)
|
||||||
|
uint8_t threeStateSlotFromOverride(int8_t value) {
|
||||||
|
if (value < 0) return 0;
|
||||||
|
if (value > 0) return 1;
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t threeStateOverrideFromSlot(uint8_t slot) {
|
||||||
|
if (slot == 0) return -1;
|
||||||
|
if (slot == 1) return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Returns the localized name of the family currently used as the global default
|
// Returns the localized name of the family currently used as the global default
|
||||||
// for the reader. When the user has selected an SD card font globally, the
|
// for the reader. When the user has selected an SD card font globally, the
|
||||||
// override menu's "Default" label should reflect that family by name even
|
// override menu's "Default" label should reflect that family by name even
|
||||||
@@ -40,7 +58,8 @@ EpubReaderMenuActivity::EpubReaderMenuActivity(
|
|||||||
const int8_t initialEmbeddedStyleOverride, const int8_t initialImageRenderingOverride,
|
const int8_t initialEmbeddedStyleOverride, const int8_t initialImageRenderingOverride,
|
||||||
const int8_t initialFontFamilyOverride, const std::string& initialSdFontFamilyOverride,
|
const int8_t initialFontFamilyOverride, const std::string& initialSdFontFamilyOverride,
|
||||||
const int8_t initialFontSizeOverride, const uint8_t initialTextDarkness, const bool initialBionicReadingOverride,
|
const int8_t initialFontSizeOverride, const uint8_t initialTextDarkness, const bool initialBionicReadingOverride,
|
||||||
const int8_t initialParagraphAlignmentOverride, const bool hasStarredPages, const bool isCurrentPageStarred,
|
const int8_t initialParagraphAlignmentOverride, const int8_t initialTextAntiAliasingOverride,
|
||||||
|
const int8_t initialHyphenationOverride, const bool hasStarredPages, const bool isCurrentPageStarred,
|
||||||
const bool hasPrintedPages)
|
const bool hasPrintedPages)
|
||||||
: MenuListActivity("EpubReaderMenu", renderer, mappedInput),
|
: MenuListActivity("EpubReaderMenu", renderer, mappedInput),
|
||||||
currentPageStarred(isCurrentPageStarred),
|
currentPageStarred(isCurrentPageStarred),
|
||||||
@@ -53,6 +72,8 @@ EpubReaderMenuActivity::EpubReaderMenuActivity(
|
|||||||
pendingTextDarkness(initialTextDarkness),
|
pendingTextDarkness(initialTextDarkness),
|
||||||
pendingBionicReading(initialBionicReadingOverride),
|
pendingBionicReading(initialBionicReadingOverride),
|
||||||
pendingParagraphAlignmentOverride(initialParagraphAlignmentOverride),
|
pendingParagraphAlignmentOverride(initialParagraphAlignmentOverride),
|
||||||
|
pendingTextAntiAliasingOverride(initialTextAntiAliasingOverride),
|
||||||
|
pendingHyphenationOverride(initialHyphenationOverride),
|
||||||
title(title),
|
title(title),
|
||||||
currentPage(currentPage),
|
currentPage(currentPage),
|
||||||
totalPages(totalPages),
|
totalPages(totalPages),
|
||||||
@@ -242,6 +263,32 @@ void EpubReaderMenuActivity::buildMenuItems(bool hasFootnotes, bool hasStarredPa
|
|||||||
})
|
})
|
||||||
.withSubmenu(StrId::STR_READER_OVERRIDES));
|
.withSubmenu(StrId::STR_READER_OVERRIDES));
|
||||||
|
|
||||||
|
// Text anti-aliasing: default / on / off (mirrors QuickOverrides)
|
||||||
|
menuItems.push_back(
|
||||||
|
SettingInfo::DynamicEnumCtx(
|
||||||
|
StrId::STR_TEXT_AA, {StrId::STR_DEFAULT_VALUE, StrId::STR_STATE_ON, StrId::STR_STATE_OFF}, self,
|
||||||
|
[](const void* ctx) -> uint8_t {
|
||||||
|
return threeStateSlotFromOverride(
|
||||||
|
static_cast<const EpubReaderMenuActivity*>(ctx)->pendingTextAntiAliasingOverride);
|
||||||
|
},
|
||||||
|
[](void* ctx, uint8_t v) {
|
||||||
|
static_cast<EpubReaderMenuActivity*>(ctx)->pendingTextAntiAliasingOverride = threeStateOverrideFromSlot(v);
|
||||||
|
})
|
||||||
|
.withSubmenu(StrId::STR_READER_OVERRIDES));
|
||||||
|
|
||||||
|
// Hyphenation: default / on / off (mirrors QuickOverrides)
|
||||||
|
menuItems.push_back(
|
||||||
|
SettingInfo::DynamicEnumCtx(
|
||||||
|
StrId::STR_HYPHENATION, {StrId::STR_DEFAULT_VALUE, StrId::STR_STATE_ON, StrId::STR_STATE_OFF}, self,
|
||||||
|
[](const void* ctx) -> uint8_t {
|
||||||
|
return threeStateSlotFromOverride(
|
||||||
|
static_cast<const EpubReaderMenuActivity*>(ctx)->pendingHyphenationOverride);
|
||||||
|
},
|
||||||
|
[](void* ctx, uint8_t v) {
|
||||||
|
static_cast<EpubReaderMenuActivity*>(ctx)->pendingHyphenationOverride = threeStateOverrideFromSlot(v);
|
||||||
|
})
|
||||||
|
.withSubmenu(StrId::STR_READER_OVERRIDES));
|
||||||
|
|
||||||
// Helper functions, reading ruler, auto page turn, orientation
|
// Helper functions, reading ruler, auto page turn, orientation
|
||||||
menuItems.push_back(SettingInfo::Separator(StrId::STR_READER_UTILS));
|
menuItems.push_back(SettingInfo::Separator(StrId::STR_READER_UTILS));
|
||||||
// Auto page turn: ACTION type with custom cycling in onActionSelected
|
// Auto page turn: ACTION type with custom cycling in onActionSelected
|
||||||
@@ -336,7 +383,8 @@ void EpubReaderMenuActivity::finishWithAction(MenuAction action) {
|
|||||||
setResult(MenuResult{static_cast<int>(action), -1, pendingOrientation, selectedPageTurnOption,
|
setResult(MenuResult{static_cast<int>(action), -1, pendingOrientation, selectedPageTurnOption,
|
||||||
pendingEmbeddedStyleOverride, pendingImageRenderingOverride, pendingFontFamilyOverride,
|
pendingEmbeddedStyleOverride, pendingImageRenderingOverride, pendingFontFamilyOverride,
|
||||||
pendingSdFontFamilyOverride, pendingFontSizeOverride, pendingTextDarkness,
|
pendingSdFontFamilyOverride, pendingFontSizeOverride, pendingTextDarkness,
|
||||||
static_cast<uint8_t>(pendingBionicReading), pendingParagraphAlignmentOverride});
|
static_cast<uint8_t>(pendingBionicReading), pendingParagraphAlignmentOverride,
|
||||||
|
pendingTextAntiAliasingOverride, pendingHyphenationOverride});
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -372,7 +420,9 @@ void EpubReaderMenuActivity::onBackPressed() {
|
|||||||
pendingFontSizeOverride,
|
pendingFontSizeOverride,
|
||||||
pendingTextDarkness,
|
pendingTextDarkness,
|
||||||
static_cast<uint8_t>(pendingBionicReading),
|
static_cast<uint8_t>(pendingBionicReading),
|
||||||
pendingParagraphAlignmentOverride};
|
pendingParagraphAlignmentOverride,
|
||||||
|
pendingTextAntiAliasingOverride,
|
||||||
|
pendingHyphenationOverride};
|
||||||
setResult(std::move(result));
|
setResult(std::move(result));
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,8 +42,10 @@ class EpubReaderMenuActivity final : public MenuListActivity {
|
|||||||
const int8_t initialFontFamilyOverride,
|
const int8_t initialFontFamilyOverride,
|
||||||
const std::string& initialSdFontFamilyOverride, const int8_t initialFontSizeOverride,
|
const std::string& initialSdFontFamilyOverride, const int8_t initialFontSizeOverride,
|
||||||
const uint8_t initialTextDarkness, const bool initialBionicReadingOverride,
|
const uint8_t initialTextDarkness, const bool initialBionicReadingOverride,
|
||||||
const int8_t initialParagraphAlignmentOverride, const bool hasStarredPages,
|
const int8_t initialParagraphAlignmentOverride,
|
||||||
const bool isCurrentPageStarred, const bool hasPrintedPages);
|
const int8_t initialTextAntiAliasingOverride, const int8_t initialHyphenationOverride,
|
||||||
|
const bool hasStarredPages, const bool isCurrentPageStarred,
|
||||||
|
const bool hasPrintedPages);
|
||||||
|
|
||||||
void onEnter() override;
|
void onEnter() override;
|
||||||
void render(RenderLock&&) override;
|
void render(RenderLock&&) override;
|
||||||
@@ -77,6 +79,8 @@ class EpubReaderMenuActivity final : public MenuListActivity {
|
|||||||
uint8_t pendingTextDarkness = 1;
|
uint8_t pendingTextDarkness = 1;
|
||||||
bool pendingBionicReading = false;
|
bool pendingBionicReading = false;
|
||||||
int8_t pendingParagraphAlignmentOverride = -1;
|
int8_t pendingParagraphAlignmentOverride = -1;
|
||||||
|
int8_t pendingTextAntiAliasingOverride = -1;
|
||||||
|
int8_t pendingHyphenationOverride = -1;
|
||||||
|
|
||||||
static constexpr const char* pageTurnLabels[] = {"", "1", "3", "6", "12"};
|
static constexpr const char* pageTurnLabels[] = {"", "1", "3", "6", "12"};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user