mod: overhaul reader menu with long-press actions and quick toggles
Consolidate dictionary items: remove "Lookup Word History" and "Delete Dictionary Cache" from the menu. Long-press on "Lookup Word" opens history; delete-dict-cache is now a sentinel entry at the bottom of the history list. Replace "Reading Orientation" with "Toggle Portrait/Landscape" that toggles between two configurable preferred orientations (new settings: Preferred Portrait, Preferred Landscape). Long-press opens a manual 4-option orientation sub-menu. Add "Toggle Font Size" menu item that cycles through font sizes and applies on menu exit (with section re-layout). Rename "Letterbox Fill" to "Override Letterbox Fill" and "Sync Progress" to "Sync Reading Progress" in reader menu. All long-press flows use ignoreNextConfirmRelease to prevent the button release from triggering actions on the subsequent screen. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -10,13 +10,14 @@ class LookedUpWordsActivity final : public ActivityWithSubactivity {
|
||||
public:
|
||||
explicit LookedUpWordsActivity(GfxRenderer& renderer, MappedInputManager& mappedInput, const std::string& cachePath,
|
||||
int readerFontId, uint8_t orientation, const std::function<void()>& onBack,
|
||||
const std::function<void()>& onDone)
|
||||
const std::function<void()>& onDone, bool initialSkipRelease = false)
|
||||
: ActivityWithSubactivity("LookedUpWords", renderer, mappedInput),
|
||||
cachePath(cachePath),
|
||||
readerFontId(readerFontId),
|
||||
orientation(orientation),
|
||||
onBack(onBack),
|
||||
onDone(onDone) {}
|
||||
onDone(onDone),
|
||||
ignoreNextConfirmRelease(initialSkipRelease) {}
|
||||
|
||||
void onEnter() override;
|
||||
void onExit() override;
|
||||
@@ -41,5 +42,9 @@ class LookedUpWordsActivity final : public ActivityWithSubactivity {
|
||||
bool ignoreNextConfirmRelease = false;
|
||||
int pendingDeleteIndex = 0;
|
||||
|
||||
// Sentinel index: the "Delete Dictionary Cache" entry at the end of the list.
|
||||
// -1 if not present (shouldn't happen when dictionary exists).
|
||||
int deleteDictCacheIndex = -1;
|
||||
|
||||
int getPageItems() const;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user