Lettore 0.4.0: rifatto senza WebView (Text rich text QML)

Il WebView di Sailfish non supporta lo scroll programmatico affidabile
(window.scrollY stale, contentHeight/scrollPosition non scrivibili): 0.3.x
non ha mai cambiato capitolo in modo affidabile. Ora i capitoli sono rich
text Qt in un Text QML dentro un SilicaFlickable: contentY/contentHeight
nativi, paginazione a tap deterministico, fine capitolo esatta. HTML->rich
text in C++ (tag base, entità, fallback). Bookmark v2 invariato (offset
caratteri stimato da frazione). Niente immagini inline (limite rich text).
This commit is contained in:
2026-08-21 11:32:43 +02:00
parent a5088c3986
commit 60f53ab4e4
5 changed files with 414 additions and 280 deletions
+16 -1
View File
@@ -1,6 +1,6 @@
Name: harbour-calibreweb
Summary: Client OPDS per Calibre Web
Version: 0.3.4
Version: 0.4.0
Release: 1
Group: Qt/Qt
License: MIT
@@ -24,6 +24,21 @@ reflow del testo, margini configurabili e posizione salvata
in locale.
%changelog
* Fri Aug 21 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.4.0-1
- LETTORE RIFATTO senza WebView: i capitoli sono rich text Qt in un Text QML
dentro un SilicaFlickable. Lo scroll (contentY/contentHeight) e' nativo QML
e sempre affidabile: sul WebView di Sailfish lo scroll programmatico non
funziona (window.scrollY stale, contentHeight/scrollPosition non scrivibili)
e il cambio capitolo non scattava mai (regressioni 0.3.x)
- Paginazione a tap su contentY: avanti/indietro di una viewport, cambio
capitolo deterministico (fine = contentY >= contentHeight - height)
- Bookmark v2 invariato (posizione per carattere, stimata dalla frazione di
scroll: stabile col reflow del font); migrazione v1 invariata
- HTML->rich text in C++: tag di base (p, h1-h6, b/i/u/s, liste, tabelle,
blockquote), entita' HTML comuni decodificate, script/style/head/immagini
saltati, fallback per HTML malformato
- NOTA: il lettore non mostra piu' le immagini inline dei capitoli (limite
del rich text Qt); niente scroll libero (paginazione a tap, come richiesto)
* Fri Aug 21 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.3.4-1
- Fix tap avanti: scrollToCharJs usava window.scrollTo(0, rect.top+scrollY-8)
e window.scrollY e' stale sul WebView Sailfish -> il tap oscillava di pochi