Adjust navigation at end of book to home page on forward press

(cherry picked from commit deb6ff3b9d1a284594540513f19a3191936915c9)
This commit is contained in:
nscheung
2026-03-25 20:16:47 +01:00
committed by jpirnay
parent 6be2627b59
commit d8334e9fa4
3 changed files with 23 additions and 10 deletions
+8 -4
View File
@@ -205,11 +205,15 @@ void EpubReaderActivity::loop() {
return; return;
} }
// any botton press when at end of the book goes back to the last page // At end of the book, forward button goes home and back button returns to last page
if (currentSpineIndex > 0 && currentSpineIndex >= epub->getSpineItemsCount()) { if (currentSpineIndex > 0 && currentSpineIndex >= epub->getSpineItemsCount()) {
currentSpineIndex = epub->getSpineItemsCount() - 1; if (nextTriggered) {
nextPageNumber = UINT16_MAX; onGoHome();
requestUpdate(); } else {
currentSpineIndex = epub->getSpineItemsCount() - 1;
nextPageNumber = UINT16_MAX;
requestUpdate();
}
return; return;
} }
+8 -3
View File
@@ -138,9 +138,14 @@ void TxtReaderActivity::loop() {
if (prevTriggered && currentPage > 0) { if (prevTriggered && currentPage > 0) {
currentPage--; currentPage--;
requestUpdate(); requestUpdate();
} else if (nextTriggered && currentPage < totalPages - 1) { } else if (nextTriggered) {
currentPage++; if (currentPage < totalPages - 1) {
requestUpdate(); currentPage++;
requestUpdate();
} else {
onGoHome();
return;
}
} }
} }
+7 -3
View File
@@ -98,10 +98,14 @@ void XtcReaderActivity::loop() {
return; return;
} }
// Handle end of book // At end of the book, forward button goes home and back button returns to last page
if (currentPage >= xtc->getPageCount()) { if (currentPage >= xtc->getPageCount()) {
currentPage = xtc->getPageCount() - 1; if (nextTriggered) {
requestUpdate(); onGoHome();
} else {
currentPage = xtc->getPageCount() - 1;
requestUpdate();
}
return; return;
} }