void BookView::onContentsSizeChanged(const QSize &size)
{
- Trace t("BookView::onContentsSizeChanged");
- t.trace(QString("To %1").arg(size.height()));
contentsHeight = size.height();
if (decorated) {
if (restorePositionAfterLoad) {
+ Trace::debug("BookView::onContentSizeChanged: Time to restore");
restorePositionAfterLoad = false;
goToPosition(positionAfterLoad);
}
void BookView::leaveEvent(QEvent *e)
{
Trace t("BookView::leaveEvent");
+ // Save current position, to be restored later
setLastBookmark();
QWebView::leaveEvent(e);
}
void BookView::enterEvent(QEvent *e)
{
Trace t("BookView::enterEvent");
+ // Restore position saved at Leave event. This seems to be required,
+ // after temporarily switching from portrait to landscape and back
restoreLastBookmark();
QWebView::enterEvent(e);
}
// view->setLastBookmark();
QString value = Settings::instance()->value(key).toString();
if (value == "portrait") {
+ setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);
setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
}
else {
+ setAttribute(Qt::WA_Maemo5PortraitOrientation, false);
setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);
}
+ // FIXME: Orientation change should re-activate the window but it doesn't.
+ // And I have no idea how to force it
+
// view->restoreLastBookmark();
// view->setFocus();
// raise();