regular menu action if no koreader credentials are defined

This commit is contained in:
jpirnay
2026-03-23 12:23:21 +01:00
parent dad37ecf3c
commit ad6036c162
+18 -19
View File
@@ -135,27 +135,26 @@ void EpubReaderActivity::loop() {
} }
} }
// Long press CONFIRM (1s+) goes directly to KOReader sync. // Long press CONFIRM (1s+) goes directly to KOReader sync when credentials are configured.
// Without credentials, fall through to the regular menu on release.
if (mappedInput.isPressed(MappedInputManager::Button::Confirm) && if (mappedInput.isPressed(MappedInputManager::Button::Confirm) &&
mappedInput.getHeldTime() >= ReaderUtils::GO_HOME_MS) { mappedInput.getHeldTime() >= ReaderUtils::GO_HOME_MS && KOREADER_STORE.hasCredentials()) {
if (KOREADER_STORE.hasCredentials()) { const int currentPage = section ? section->currentPage : 0;
const int currentPage = section ? section->currentPage : 0; const int totalPages = section ? section->pageCount : 0;
const int totalPages = section ? section->pageCount : 0; startActivityForResult(
startActivityForResult( std::make_unique<KOReaderSyncActivity>(renderer, mappedInput, epub, epub->getPath(), currentSpineIndex,
std::make_unique<KOReaderSyncActivity>(renderer, mappedInput, epub, epub->getPath(), currentSpineIndex, currentPage, totalPages),
currentPage, totalPages), [this](const ActivityResult& result) {
[this](const ActivityResult& result) { if (!result.isCancelled) {
if (!result.isCancelled) { const auto& sync = std::get<SyncResult>(result.data);
const auto& sync = std::get<SyncResult>(result.data); if (currentSpineIndex != sync.spineIndex || (section && section->currentPage != sync.page)) {
if (currentSpineIndex != sync.spineIndex || (section && section->currentPage != sync.page)) { RenderLock lock(*this);
RenderLock lock(*this); currentSpineIndex = sync.spineIndex;
currentSpineIndex = sync.spineIndex; nextPageNumber = sync.page;
nextPageNumber = sync.page; section.reset();
section.reset();
}
} }
}); }
} });
return; return;
} }