fix: placeholder cover text, indexing timing, TOC long-press, cache deletion UI

- Fix fp4 fixed-point misuse in PlaceholderCoverGenerator (advanceX is 12.4
  fixed-point, not pixels) causing only first letter of each word to render
- Remove duplicate silentIndexNextChapterIfNeeded() call from loop() that
  blocked UI before render, preventing the indexing indicator from showing
- Fix indexing icon Y position to align within the status bar
- Add ignoreNextConfirmRelease to EpubReaderChapterSelectionActivity so
  long-press confirm release doesn't immediately select the first TOC item
- Reload recent books after cache deletion in HomeActivity and clear stale
  ignoreNextConfirmRelease flag to fix "no open books" and double-press bugs

Made-with: Cursor
This commit is contained in:
cottongin
2026-03-07 22:58:13 -05:00
parent a5ca15df4f
commit 022f5197d7
5 changed files with 17 additions and 9 deletions

View File

@@ -307,6 +307,7 @@ void HomeActivity::openManageMenu(const std::string& bookPath) {
startActivityForResult(
std::make_unique<BookManageMenuActivity>(renderer, mappedInput, capturedPath, isArchived, true),
[this, capturedPath](const ActivityResult& result) {
ignoreNextConfirmRelease = false;
if (result.isCancelled) {
requestUpdate();
return;
@@ -339,13 +340,13 @@ void HomeActivity::openManageMenu(const std::string& bookPath) {
GUI.drawPopup(renderer, success ? tr(STR_DONE) : tr(STR_ACTION_FAILED));
}
requestUpdateAndWait();
recentBooks.clear();
recentsLoaded = false;
recentsLoading = false;
coverRendered = false;
freeCoverBuffer();
selectorIndex = 0;
firstRenderDone = false;
loadRecentBooks(UITheme::getInstance().getMetrics().homeRecentBooksCount);
requestUpdate();
});
}