From 8529942924e1981c48d4ca348443c7a2dc3ab44a Mon Sep 17 00:00:00 2001 From: Slava Monich Date: Mon, 3 Feb 2020 03:09:13 +0200 Subject: [PATCH] [app] A few more tweaks to reduce jumping between the pages --- app/qml/BooksBookView.qml | 4 +++- app/src/BooksBookModel.cpp | 23 ++++++++++++----------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/qml/BooksBookView.qml b/app/qml/BooksBookView.qml index 16a3986..687810e 100644 --- a/app/qml/BooksBookView.qml +++ b/app/qml/BooksBookView.qml @@ -87,6 +87,8 @@ SilicaFlickable { } } + onBookChanged: if (!book) pager.currentPage = 0 + Component { id: linkMenuComponent BooksLinkMenu { } @@ -259,7 +261,7 @@ SilicaFlickable { property int jumpingTo: -1 function jumpTo(page) { - if (page >=0 && page !== bookViewWatcher.currentIndex) { + if (book && page >=0 && page !== bookViewWatcher.currentIndex) { jumpingTo = page bookViewWatcher.positionViewAtIndex(page) pager.currentPage = page diff --git a/app/src/BooksBookModel.cpp b/app/src/BooksBookModel.cpp index 143fe52..1a5adee 100644 --- a/app/src/BooksBookModel.cpp +++ b/app/src/BooksBookModel.cpp @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015-2018 Jolla Ltd. - * Copyright (C) 2015-2018 Slava Monich + * Copyright (C) 2015-2020 Jolla Ltd. + * Copyright (C) 2015-2020 Slava Monich * * You may use this file under the terms of the BSD license as follows: * @@ -8,15 +8,15 @@ * modification, are permitted provided that the following conditions * are met: * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Jolla Ltd nor the names of its contributors - * may be used to endorse or promote products derived from this - * software without specific prior written permission. + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * 3. Neither the names of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -360,6 +360,7 @@ void BooksBookModel::setBook(BooksBook* aBook) iBookRef.reset(); iTitle = QString(); iPageStack->clear(); + iPageStack->setPageMarks(BooksPos::List()); HDEBUG(""); } startReset(ReasonLoading, true);