Lettore 0.3.4: tap avanti con scrollBy relativo (no window.scrollY)
scrollToCharJs calcolava scrollTo(0, rect.top+scrollY-8) e window.scrollY e' stale sul WebView Sailfish: il tap avanti oscillava di pochi pixel. Ora window.scrollBy(0, rect.top-8): nessuna lettura di scrollY, il carattere target finisce esattamente in cima alla viewport.
This commit is contained in:
@@ -302,7 +302,10 @@ Page {
|
|||||||
+ "return c;})()"
|
+ "return c;})()"
|
||||||
}
|
}
|
||||||
|
|
||||||
// JS che porta in cima alla viewport il carattere 'off' del capitolo
|
// JS che porta in cima alla viewport il carattere 'off' del capitolo.
|
||||||
|
// Usa scrollBy RELATIVO (rect.top - 8): non legge mai window.scrollY,
|
||||||
|
// che sul WebView Sailfish non riflette lo scroll reale (con scrollTo +
|
||||||
|
// scrollY il tap oscillava di pochi pixel invece di avanzare).
|
||||||
function scrollToCharJs(off) {
|
function scrollToCharJs(off) {
|
||||||
return "(function(){"
|
return "(function(){"
|
||||||
+ "var b=document.body,o=0;"
|
+ "var b=document.body,o=0;"
|
||||||
@@ -314,7 +317,7 @@ Page {
|
|||||||
+ "if(o+n.data.length>=" + off + "){"
|
+ "if(o+n.data.length>=" + off + "){"
|
||||||
+ "var r=document.createRange();r.setStart(n," + off + "-o);r.collapse(true);"
|
+ "var r=document.createRange();r.setStart(n," + off + "-o);r.collapse(true);"
|
||||||
+ "var rect=r.getBoundingClientRect();"
|
+ "var rect=r.getBoundingClientRect();"
|
||||||
+ "if(rect.top>0)window.scrollTo(0,rect.top+window.scrollY-8);"
|
+ "window.scrollBy(0,rect.top-8);"
|
||||||
+ "return true;}"
|
+ "return true;}"
|
||||||
+ "o+=n.data.length;}"
|
+ "o+=n.data.length;}"
|
||||||
+ "return false;})()"
|
+ "return false;})()"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
Name: harbour-calibreweb
|
Name: harbour-calibreweb
|
||||||
Summary: Client OPDS per Calibre Web
|
Summary: Client OPDS per Calibre Web
|
||||||
Version: 0.3.3
|
Version: 0.3.4
|
||||||
Release: 1
|
Release: 1
|
||||||
Group: Qt/Qt
|
Group: Qt/Qt
|
||||||
License: MIT
|
License: MIT
|
||||||
@@ -24,6 +24,11 @@ reflow del testo, margini configurabili e posizione salvata
|
|||||||
in locale.
|
in locale.
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
||||||
|
pixel invece di avanzare. Ora scrollBy relativo (0, rect.top-8): nessuna
|
||||||
|
lettura di scrollY, avanzamento di una pagina esatta
|
||||||
* Fri Aug 21 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.3.3-1
|
* Fri Aug 21 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.3.3-1
|
||||||
- Paginazione per CONTENUTO: il tap avanza di una pagina di testo (offset in
|
- Paginazione per CONTENUTO: il tap avanza di una pagina di testo (offset in
|
||||||
caratteri calcolato sui text node del DOM), la fine del capitolo e' decisa
|
caratteri calcolato sui text node del DOM), la fine del capitolo e' decisa
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
|||||||
app->setOrganizationName(QStringLiteral("harbour"));
|
app->setOrganizationName(QStringLiteral("harbour"));
|
||||||
app->setApplicationName(QStringLiteral("calibreweb"));
|
app->setApplicationName(QStringLiteral("calibreweb"));
|
||||||
// versione mostrata nelle impostazioni (tenere allineata allo spec)
|
// versione mostrata nelle impostazioni (tenere allineata allo spec)
|
||||||
app->setApplicationVersion(QStringLiteral("0.3.3"));
|
app->setApplicationVersion(QStringLiteral("0.3.4"));
|
||||||
|
|
||||||
Settings settings;
|
Settings settings;
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
|||||||
|
|
||||||
QQuickView *view = SailfishApp::createView();
|
QQuickView *view = SailfishApp::createView();
|
||||||
|
|
||||||
qDebug() << "harbour-calibreweb v0.3.3 build" << __DATE__ << __TIME__;
|
qDebug() << "harbour-calibreweb v0.3.4 build" << __DATE__ << __TIME__;
|
||||||
|
|
||||||
qmlRegisterType<EpubBook>("harbour.calibreweb", 1, 0, "EpubBook");
|
qmlRegisterType<EpubBook>("harbour.calibreweb", 1, 0, "EpubBook");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user