QVariant ret = page()->mainFrame()->evaluateJavaScript(
QString("window.location='") + fragment + "'");
qDebug() << ret;
- // FIXME: setLastBookmark();
}
}
void BookView::goPreviousPage()
{
QWebFrame *frame = page()->mainFrame();
- int pos = frame->scrollPosition().y();
- frame->scroll(0, -(height() - 19));
+ const int pos = frame->scrollPosition().y();
+ frame->scroll(0, -1);
if (pos == frame->scrollPosition().y()) {
if (contentIndex > 0) {
Book::Bookmark bookmark(contentIndex - 1, 1.0);
}
} else {
showProgress();
+ QPropertyAnimation *slide =
+ new QPropertyAnimation(frame, "scrollPosition");
+ const QPoint *offset = new QPoint(0, height() - 18);
+ slide->setDuration(400);
+ slide->setStartValue(frame->scrollPosition());
+ slide->setEndValue(frame->scrollPosition() - *offset);
+ slide->setEasingCurve(QEasingCurve::OutQuad);
+ slide->start(QAbstractAnimation::DeleteWhenStopped);
+ delete offset;
}
}
{
TRACE;
QWebFrame *frame = page()->mainFrame();
- int pos = frame->scrollPosition().y();
- frame->scroll(0, height() - 19);
+ const int pos = frame->scrollPosition().y();
+ frame->scroll(0, 1);
if (pos == frame->scrollPosition().y()) {
goNext();
} else {
showProgress();
+ QPropertyAnimation *slide =
+ new QPropertyAnimation(frame, "scrollPosition");
+ const QPoint *offset = new QPoint(0, (height() - 18));
+ slide->setDuration(400);
+ slide->setStartValue(frame->scrollPosition());
+ slide->setEndValue(frame->scrollPosition() + *offset);
+ slide->setEasingCurve(QEasingCurve::OutQuad);
+ slide->start(QAbstractAnimation::DeleteWhenStopped);
+ delete offset;
}
}