Rimossa la sync server dell'avanzamento di lettura (login di sessione, postBookmark, fetchBookmark): resta solo il salvataggio locale della posizione (QSettings) con ripristino locale all'apertura. ApiClient riportato a feed OPDS + copertine
This commit is contained in:
@@ -15,7 +15,6 @@ Page {
|
||||
property bool ready: false
|
||||
property bool restoring: false
|
||||
property int saveCounter: 0
|
||||
property int syncCounter: 0
|
||||
property string errorMessage: ""
|
||||
// reflow: scala il font (il testo si ri-avvolge), non lo zoom grafico
|
||||
property double fontScale: 1.0
|
||||
@@ -36,10 +35,6 @@ Page {
|
||||
text: "Indice capitoli"
|
||||
onClicked: showChapterList()
|
||||
}
|
||||
MenuItem {
|
||||
text: "Aggiorna posizione sul server"
|
||||
onClicked: syncNow()
|
||||
}
|
||||
MenuItem {
|
||||
text: "Margini del testo"
|
||||
onClicked: {
|
||||
@@ -201,20 +196,11 @@ Page {
|
||||
if (bookId <= 0)
|
||||
return
|
||||
page.saveCounter++
|
||||
// salva locale ogni ~10 s, sync server ogni ~30 s
|
||||
// salva in locale ogni ~10 s (o subito su forzatura)
|
||||
if (force || page.saveCounter % 5 === 0) {
|
||||
appSettings.setBookmarkKey(page.bookId, page.bookFormat,
|
||||
book.makeBookmarkKey(page.currentChapter, page.chapterFraction))
|
||||
}
|
||||
if (force || page.syncCounter++ % 15 === 0)
|
||||
syncNow()
|
||||
}
|
||||
|
||||
function syncNow() {
|
||||
if (bookId <= 0)
|
||||
return
|
||||
apiClient.postBookmark(page.bookId, page.bookFormat,
|
||||
book.makeBookmarkKey(page.currentChapter, page.chapterFraction))
|
||||
}
|
||||
|
||||
function gotoChapter(index) {
|
||||
@@ -315,11 +301,6 @@ Page {
|
||||
page.currentChapter = ch
|
||||
page.chapterFraction = fr
|
||||
loadChapter()
|
||||
|
||||
// ripristino anche dal server: la posizione remota vince, se esiste.
|
||||
// Il login di sessione viene fatto qui (prima richiesta verso le route web)
|
||||
if (page.bookId > 0)
|
||||
apiClient.fetchBookmark(page.bookId, page.bookFormat)
|
||||
}
|
||||
|
||||
onStatusChanged: {
|
||||
@@ -332,33 +313,4 @@ Page {
|
||||
applyMarginsJS()
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: apiClient
|
||||
|
||||
// posizione letta dal server all'apertura del libro
|
||||
onBookmarkReady: {
|
||||
if (bookId !== page.bookId)
|
||||
return
|
||||
if (key.length === 0)
|
||||
return // nessun segnalibro sul server: resta la posizione locale
|
||||
var r = book.parseBookmarkKey(key)
|
||||
if (!r || !r.hasOwnProperty("chapter"))
|
||||
return
|
||||
var same = (r.chapter === page.currentChapter)
|
||||
&& (Math.abs(r.fraction - page.chapterFraction) < 0.01)
|
||||
if (same)
|
||||
return
|
||||
page.currentChapter = r.chapter
|
||||
page.chapterFraction = r.fraction
|
||||
// aggiorna anche la copia locale
|
||||
appSettings.setBookmarkKey(page.bookId, page.bookFormat, key)
|
||||
if (page.ready && book.chapterCount() > 0)
|
||||
loadChapter()
|
||||
}
|
||||
// sync non disponibile (server irraggiungibile, login bloccato, ...):
|
||||
// si continua in locale, senza disturbare il lettore
|
||||
onBookmarkError: { }
|
||||
onLoginFailed: { }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user