feat: Wire up bookmark and quick menu features in main app
Integrates BookmarkStore initialization, QuickMenuActivity, and BookmarkListActivity into the main application flow.
This commit is contained in:
parent
e1fcec7d69
commit
82165c1022
@ -86,7 +86,7 @@ class CrossPointSettings {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Short power button press actions
|
// Short power button press actions
|
||||||
enum SHORT_PWRBTN { IGNORE = 0, SLEEP = 1, PAGE_TURN = 2, DICTIONARY = 3, SHORT_PWRBTN_COUNT };
|
enum SHORT_PWRBTN { IGNORE = 0, SLEEP = 1, PAGE_TURN = 2, DICTIONARY = 3, QUICK_MENU = 4, SHORT_PWRBTN_COUNT };
|
||||||
|
|
||||||
// Hide battery percentage
|
// Hide battery percentage
|
||||||
enum HIDE_BATTERY_PERCENTAGE { HIDE_NEVER = 0, HIDE_READER = 1, HIDE_ALWAYS = 2, HIDE_BATTERY_PERCENTAGE_COUNT };
|
enum HIDE_BATTERY_PERCENTAGE { HIDE_NEVER = 0, HIDE_READER = 1, HIDE_ALWAYS = 2, HIDE_BATTERY_PERCENTAGE_COUNT };
|
||||||
|
|||||||
@ -84,7 +84,7 @@ const SettingInfo controlsSettings[controlsSettingsCount] = {
|
|||||||
{"Prev, Next", "Next, Prev"}),
|
{"Prev, Next", "Next, Prev"}),
|
||||||
SettingInfo::Toggle("Long-press Chapter Skip", &CrossPointSettings::longPressChapterSkip),
|
SettingInfo::Toggle("Long-press Chapter Skip", &CrossPointSettings::longPressChapterSkip),
|
||||||
SettingInfo::Enum("Short Power Button Click", &CrossPointSettings::shortPwrBtn,
|
SettingInfo::Enum("Short Power Button Click", &CrossPointSettings::shortPwrBtn,
|
||||||
{"Ignore", "Sleep", "Page Turn", "Dictionary"})};
|
{"Ignore", "Sleep", "Page Turn", "Dictionary", "Quick Menu"})};
|
||||||
|
|
||||||
constexpr int systemSettingsCount = 4;
|
constexpr int systemSettingsCount = 4;
|
||||||
const SettingInfo systemSettings[systemSettingsCount] = {
|
const SettingInfo systemSettings[systemSettingsCount] = {
|
||||||
|
|||||||
36
src/main.cpp
36
src/main.cpp
@ -21,11 +21,13 @@
|
|||||||
#include "activities/boot_sleep/BootActivity.h"
|
#include "activities/boot_sleep/BootActivity.h"
|
||||||
#include "activities/boot_sleep/SleepActivity.h"
|
#include "activities/boot_sleep/SleepActivity.h"
|
||||||
#include "activities/browser/OpdsBookBrowserActivity.h"
|
#include "activities/browser/OpdsBookBrowserActivity.h"
|
||||||
|
#include "activities/home/BookmarkListActivity.h"
|
||||||
#include "activities/home/HomeActivity.h"
|
#include "activities/home/HomeActivity.h"
|
||||||
#include "activities/home/ListViewActivity.h"
|
#include "activities/home/ListViewActivity.h"
|
||||||
#include "activities/home/MyLibraryActivity.h"
|
#include "activities/home/MyLibraryActivity.h"
|
||||||
#include "activities/network/CrossPointWebServerActivity.h"
|
#include "activities/network/CrossPointWebServerActivity.h"
|
||||||
#include "activities/reader/ReaderActivity.h"
|
#include "activities/reader/ReaderActivity.h"
|
||||||
|
#include "activities/settings/ClearCacheActivity.h"
|
||||||
#include "activities/settings/SettingsActivity.h"
|
#include "activities/settings/SettingsActivity.h"
|
||||||
#include "activities/util/FullScreenMessageActivity.h"
|
#include "activities/util/FullScreenMessageActivity.h"
|
||||||
#include "fontIds.h"
|
#include "fontIds.h"
|
||||||
@ -336,10 +338,13 @@ void enterDeepSleep() {
|
|||||||
void onGoHome();
|
void onGoHome();
|
||||||
void onGoToMyLibrary();
|
void onGoToMyLibrary();
|
||||||
void onGoToMyLibraryWithTab(const std::string& path, MyLibraryActivity::Tab tab);
|
void onGoToMyLibraryWithTab(const std::string& path, MyLibraryActivity::Tab tab);
|
||||||
|
void onGoToClearCache();
|
||||||
|
void onGoToSettings();
|
||||||
void onGoToReader(const std::string& initialEpubPath, MyLibraryActivity::Tab fromTab) {
|
void onGoToReader(const std::string& initialEpubPath, MyLibraryActivity::Tab fromTab) {
|
||||||
exitActivity();
|
exitActivity();
|
||||||
enterNewActivity(
|
enterNewActivity(
|
||||||
new ReaderActivity(renderer, mappedInputManager, initialEpubPath, fromTab, onGoHome, onGoToMyLibraryWithTab));
|
new ReaderActivity(renderer, mappedInputManager, initialEpubPath, fromTab, onGoHome, onGoToMyLibraryWithTab,
|
||||||
|
onGoToClearCache, onGoToSettings));
|
||||||
}
|
}
|
||||||
void onContinueReading() { onGoToReader(APP_STATE.openEpubPath, MyLibraryActivity::Tab::Recent); }
|
void onContinueReading() { onGoToReader(APP_STATE.openEpubPath, MyLibraryActivity::Tab::Recent); }
|
||||||
|
|
||||||
@ -348,7 +353,7 @@ void onGoToReaderFromList(const std::string& bookPath) {
|
|||||||
exitActivity();
|
exitActivity();
|
||||||
// When opening from a list, treat it like opening from Recent (will return to list view via back)
|
// When opening from a list, treat it like opening from Recent (will return to list view via back)
|
||||||
enterNewActivity(new ReaderActivity(renderer, mappedInputManager, bookPath, MyLibraryActivity::Tab::Recent, onGoHome,
|
enterNewActivity(new ReaderActivity(renderer, mappedInputManager, bookPath, MyLibraryActivity::Tab::Recent, onGoHome,
|
||||||
onGoToMyLibraryWithTab));
|
onGoToMyLibraryWithTab, onGoToClearCache, onGoToSettings));
|
||||||
}
|
}
|
||||||
|
|
||||||
// View a specific list
|
// View a specific list
|
||||||
@ -358,6 +363,22 @@ void onGoToListView(const std::string& listName) {
|
|||||||
new ListViewActivity(renderer, mappedInputManager, listName, onGoToMyLibrary, onGoToReaderFromList));
|
new ListViewActivity(renderer, mappedInputManager, listName, onGoToMyLibrary, onGoToReaderFromList));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// View bookmarks for a specific book
|
||||||
|
void onGoToBookmarkList(const std::string& bookPath, const std::string& bookTitle) {
|
||||||
|
exitActivity();
|
||||||
|
enterNewActivity(new BookmarkListActivity(
|
||||||
|
renderer, mappedInputManager, bookPath, bookTitle,
|
||||||
|
onGoToMyLibrary, // On back, return to library
|
||||||
|
[bookPath](uint16_t spineIndex, uint32_t contentOffset) {
|
||||||
|
// Navigate to bookmark location in the book
|
||||||
|
// For now, just open the book (TODO: pass bookmark location to reader)
|
||||||
|
exitActivity();
|
||||||
|
enterNewActivity(new ReaderActivity(renderer, mappedInputManager, bookPath,
|
||||||
|
MyLibraryActivity::Tab::Bookmarks, onGoHome, onGoToMyLibraryWithTab,
|
||||||
|
onGoToClearCache, onGoToSettings));
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
// Go to pinned list (if exists) or Lists tab
|
// Go to pinned list (if exists) or Lists tab
|
||||||
void onGoToListsOrPinned() {
|
void onGoToListsOrPinned() {
|
||||||
exitActivity();
|
exitActivity();
|
||||||
@ -368,7 +389,7 @@ void onGoToListsOrPinned() {
|
|||||||
} else {
|
} else {
|
||||||
// Go to Lists tab in My Library
|
// Go to Lists tab in My Library
|
||||||
enterNewActivity(new MyLibraryActivity(renderer, mappedInputManager, onGoHome, onGoToReader, onGoToListView,
|
enterNewActivity(new MyLibraryActivity(renderer, mappedInputManager, onGoHome, onGoToReader, onGoToListView,
|
||||||
MyLibraryActivity::Tab::Lists));
|
onGoToBookmarkList, MyLibraryActivity::Tab::Lists));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,14 +403,19 @@ void onGoToSettings() {
|
|||||||
enterNewActivity(new SettingsActivity(renderer, mappedInputManager, onGoHome));
|
enterNewActivity(new SettingsActivity(renderer, mappedInputManager, onGoHome));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onGoToClearCache() {
|
||||||
|
exitActivity();
|
||||||
|
enterNewActivity(new ClearCacheActivity(renderer, mappedInputManager, onGoHome));
|
||||||
|
}
|
||||||
|
|
||||||
void onGoToMyLibrary() {
|
void onGoToMyLibrary() {
|
||||||
exitActivity();
|
exitActivity();
|
||||||
enterNewActivity(new MyLibraryActivity(renderer, mappedInputManager, onGoHome, onGoToReader, onGoToListView));
|
enterNewActivity(new MyLibraryActivity(renderer, mappedInputManager, onGoHome, onGoToReader, onGoToListView, onGoToBookmarkList));
|
||||||
}
|
}
|
||||||
|
|
||||||
void onGoToMyLibraryWithTab(const std::string& path, MyLibraryActivity::Tab tab) {
|
void onGoToMyLibraryWithTab(const std::string& path, MyLibraryActivity::Tab tab) {
|
||||||
exitActivity();
|
exitActivity();
|
||||||
enterNewActivity(new MyLibraryActivity(renderer, mappedInputManager, onGoHome, onGoToReader, onGoToListView, tab, path));
|
enterNewActivity(new MyLibraryActivity(renderer, mappedInputManager, onGoHome, onGoToReader, onGoToListView, onGoToBookmarkList, tab, path));
|
||||||
}
|
}
|
||||||
|
|
||||||
void onGoToBrowser() {
|
void onGoToBrowser() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user