reading position.
// Monitor settings
connect(Settings::instance(), SIGNAL(valueChanged(const QString &)),
this, SLOT(onSettingsChanged(const QString &)));
+
}
void AdopterWindow::takeBookView(BookView *view,
progress->setParent(this);
previousButton->setParent(this);
nextButton->setParent(this);
+
+ // Handle page and/or volume keys
+ connect(this, SIGNAL(pageUp()), this, SLOT(onPageUp()),
+ Qt::QueuedConnection);
+ connect(this, SIGNAL(pageDown()), this, SLOT(onPageDown()),
+ Qt::QueuedConnection);
}
void AdopterWindow::leaveBookView()
progress = 0;
nextButton = 0;
previousButton = 0;
+ disconnect(this, SLOT(onPageUp()));
+ disconnect(this, SLOT(onPageDown()));
}
bool AdopterWindow::hasBookView()
#endif
QMainWindow::resizeEvent(event);
placeDecorations();
+ if (bookView) {
+ QTimer::singleShot(110, bookView, SLOT(restoreLastBookmark()));
+ }
+}
+
+void AdopterWindow::closeEvent(QCloseEvent *event)
+{
+ Trace t("AdopterWindow::closeEvent");
+ if (bookView) {
+ bookView->setLastBookmark();
+ }
+ QMainWindow::closeEvent(event);
+}
+
+void AdopterWindow::leaveEvent(QEvent *event)
+{
+ Trace t("AdopterWindow::leaveEvent");
+ if (bookView) {
+ bookView->setLastBookmark();
+ }
+ QMainWindow::leaveEvent(event);
}
void AdopterWindow::keyPressEvent(QKeyEvent *event)
{
TRACE;
- if (bookView && grabbingVolumeKeys) {
- switch (event->key()) {
+ switch (event->key()) {
+ case Qt::Key_PageDown:
#ifdef Q_WS_MAEMO_5
- case Qt::Key_F7:
- qDebug() << "F7";
- bookView->goNextPage();
- event->accept();
- break;
- case Qt::Key_F8:
- qDebug() << "F8";
- bookView->goPreviousPage();
- event->accept();
- break;
-#endif // Q_WS_MAEMO_5
- case Qt::Key_PageUp:
- bookView->goPreviousPage();
- event->accept();
- break;
- case Qt::Key_PageDown:
- bookView->goNextPage();
- event->accept();
- break;
- default:
- ;
- }
+ case Qt::Key_F7:
+#endif
+ emit pageDown();
+ event->accept();
+ break;
+ case Qt::Key_PageUp:
+#ifdef Q_WS_MAEMO_5
+ case Qt::Key_F8:
+#endif
+ emit pageUp();
+ event->accept();
+ break;
+ default:
+ ;
}
QMainWindow::keyPressEvent(event);
}
nextButton->flash();
qDebug() << "progress:" << progress->geometry();
}
+
+void AdopterWindow::onPageUp()
+{
+ if (bookView && grabbingVolumeKeys) {
+ setEnabled(false);
+ bookView->goPreviousPage();
+ setEnabled(true);
+ }
+}
+
+void AdopterWindow::onPageDown()
+{
+ if (bookView && grabbingVolumeKeys) {
+ setEnabled(false);
+ bookView->goNextPage();
+ setEnabled(true);
+ }
+}
+
+void AdopterWindow::hideToolBar()
+{
+ if (toolBar) {
+ toolBar->hide();
+ }
+}
/** Handle settings changes. */
void onSettingsChanged(const QString &key);
+signals:
+ /** Emitted when Page Up or Volume Up pressed. */
+ void pageUp();
+
+ /** Emitted when Page Down or Volume Down pressed. */
+ void pageDown();
+
protected:
/** Handle key press events. */
void keyPressEvent(QKeyEvent *event);
*/
void showEvent(QShowEvent *event);
- /** Handle resize events. */
+ /** Handle resize event: Restore reading position. */
void resizeEvent(QResizeEvent *event);
+ /** Handle close event. */
+ void closeEvent(QCloseEvent *event);
+
+ /** Handle leave event: Save reading position. */
+ void leaveEvent(QEvent *event);
+
#ifdef Q_OS_SYMBIAN
/** Update toolbar visibility. */
void updateToolBar();
void doGrabVolumeKeys(bool grab);
#endif // Q_WS_MAEMO_5
+ /** Hide tool bar if visible. */
+ void hideToolBar();
+
protected slots:
void placeDecorations();
+ void onPageDown();
+ void onPageUp();
private:
BookView *bookView; /**< Book view widget. */
page()->mainFrame()->addToJavaScriptWindowObject("bv", this);
}
-#ifdef Q_WS_MAEMO_5
-
-void BookView::leaveEvent(QEvent *e)
-{
- TRACE;
- // Save current position, to be restored later, in MainWindow::resizeEvent()
- setLastBookmark();
- QWebView::leaveEvent(e);
-}
-
-#endif // Q_WS_MAEMO_5
-
void BookView::goToPosition(qreal position)
{
int contentsHeight = page()->mainFrame()->contentsSize().height();
if (pos == frame->scrollPosition().y()) {
goNext();
} else {
- setLastBookmark();
+ // setLastBookmark();
showProgress();
}
}
void wheelEvent(QWheelEvent *);
bool eventFilter(QObject *o, QEvent *e);
void timerEvent(QTimerEvent *e);
-#ifdef Q_WS_MAEMO_5
- void leaveEvent(QEvent *e);
-#endif // Q_WS_MAEMO_5
/** Load given part. */
void loadContent(int index);
setAttribute(Qt::WA_Maemo5StackedWindow, true);
setAttribute(Qt::WA_Maemo5NonComposited, true);
#endif // Q_WS_MAEMO_5
-#ifndef Q_OS_SYMBIAN
- toolBar->hide();
-#endif
+ hideToolBar();
QFrame *frame = new QFrame(this);
QVBoxLayout *layout = new QVBoxLayout(frame);
layout->setMargin(0);
// Load library, upgrade it if needed
libraryProgress = new ProgressDialog(tr("Upgrading library"), this);
Library *library = Library::instance();
- connect(library, SIGNAL(beginUpgrade(int)), this, SLOT(onBeginUpgrade(int)));
+ connect(library, SIGNAL(beginUpgrade(int)),
+ this, SLOT(onBeginUpgrade(int)));
connect(library, SIGNAL(upgrading(const QString &)),
this, SLOT(onUpgrading(const QString &)));
connect(library, SIGNAL(endUpgrade()), this, SLOT(onEndUpgrade()));
}
}
-void MainWindow::closeEvent(QCloseEvent *event)
-{
- TRACE;
- view->setLastBookmark();
- AdopterWindow::closeEvent(event);
-}
-
void MainWindow::onSettingsChanged(const QString &key)
{
#if defined(Q_WS_MAEMO_5)
void onEndLoad();
protected:
- void closeEvent(QCloseEvent *event);
void timerEvent(QTimerEvent *event);
private:
+dorian (0.4.2-1) unstable; urgency=low
+
+ * Speed up paging through the book
+
+ -- Akos Polster <akos@pipacs.com> Fri, 1 Dec 2010 02:00:00 +0100
+
dorian (0.4.1-1) unstable; urgency=low
* Update home page link in About box