Lettore 0.3.0: bookmark per posizione (carattere) e paginazione corretta

- Bookmark cw:v2:<offset assoluto caratteri> invece di capitolo+frazione;
  migrazione automatica delle chiavi v1 (parseBookmarkKey)
- Lunghezze testo per capitolo in C++ (text node del DOM, entità decodificate,
  body-only) per mappare offset assoluto -> capitolo
- Paginazione: stile iniettato height:auto/overflow:visible + unlock JS dei
  contenitori hidden — il CSS di molti EPUB bloccava lo scroll e ogni tap
  saltava al capitolo successivo
- prevPage dall'inizio capitolo -> ultima pagina del capitolo precedente
- Cambio font mantiene la posizione (restore per carattere)
- Label menu: pagina corrente/totale del capitolo; max su documentElement+body
- Test: harness C++ (Qt) e test JS con DOM mock
This commit is contained in:
2026-08-21 07:57:57 +02:00
parent 1589762aac
commit d418660a2c
5 changed files with 361 additions and 59 deletions
+19 -1
View File
@@ -1,6 +1,6 @@
Name: harbour-calibreweb
Summary: Client OPDS per Calibre Web
Version: 0.2.0
Version: 0.3.0
Release: 1
Group: Qt/Qt
License: MIT
@@ -24,6 +24,24 @@ reflow del testo, margini configurabili e posizione salvata
in locale.
%changelog
* Fri Aug 21 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.3.0-1
- Lettore: bookmark per POSIZIONE (numero di carattere, chiave cw:v2:<assoluto>)
invece di capitolo+frazione: la posizione è stabile cambiando font e margini;
le vecchie chiavi cw:v1 vengono migrate automaticamente al primo avvio
- Lettore: paginazione a tap corretta quando il CSS del libro blocca lo scroll
(height:100%/overflow:hidden): stile iniettato con height:auto+overflow:visible
e sblocco JS dei contenitori nascosti — prima ogni tap saltava al capitolo
successivo perdendo tutto il testo del capitolo
- Lettore: prevPage dall'inizio del capitolo torna all'ULTIMA pagina del capitolo
precedente (prima ripartiva dall'inizio saltando la coda del testo)
- Lettore: cambio font A-/A+ mantiene la posizione di lettura (ripristino per
carattere dopo il reflow)
- Lettore: label del menu con pagina corrente/totale del capitolo; avanzamento
calcolato su documentElement E body (libri che scrollano il body)
- Parser EPUB: lunghezze testo per capitolo (text node del DOM) per la mappatura
offset assoluto -> capitolo
- Test: harness C++ locale (Qt) + test JS con DOM mock per conteggio caratteri,
ripristino e paginazione
* Wed Aug 19 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.2.0-1
- Sandbox SailJail (Sailfish 4.4+/5.x): profilo X-Sailjail esplicito nel desktop
file (Internet;Downloads, org harbour/app calibreweb) e config in
+1 -1
View File
@@ -1,6 +1,6 @@
Name: harbour-calibreweb
Summary: Client OPDS per Calibre Web
Version: 0.1.0
Version: 0.3.0
Release: 1
Group: Qt/Qt
License: MIT