X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=mainwindow.cpp;h=54c892bba6c8e322f63df38927bffba063f3e823;hb=6c8d9bb19213aee37517232ef889409200e53ac1;hp=074b33f30b1170f29c736e521fe385f5387f554b;hpb=55f1023a6984b126a3b17b313167d936807a8e1f;p=dorian diff --git a/mainwindow.cpp b/mainwindow.cpp index 074b33f..54c892b 100755 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -44,17 +44,6 @@ MainWindow::MainWindow(QWidget *parent): #endif setWindowTitle("Dorian"); -#ifdef Q_OS_SYMBIAN - // Tool bar - toolBar = new QToolBar("", this /*frame*/); - toolBar->setFixedWidth(QApplication::desktop()-> - availableGeometry().width()); - toolBar->setFixedHeight(65); - toolBar->setStyleSheet("margin:0;border:0;padding:0"); - toolBar->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Maximum); - addToolBar(Qt::BottomToolBarArea, toolBar); -#endif - // Central widget. Must be an intermediate, because the book view widget // can be re-parented later QFrame *central = new QFrame(this); @@ -66,10 +55,6 @@ MainWindow::MainWindow(QWidget *parent): // Book view view = new BookView(this); view->show(); - layout->addWidget(view); - - // Dialogs - progress = new Progress(this); // Tool bar actions @@ -110,9 +95,10 @@ MainWindow::MainWindow(QWidget *parent): (void)addToolBarAction(this, SLOT(close()), "", tr("Exit")); #endif - // Buttons on top of the book view - previousButton = new TranslucentButton("back", this); - nextButton = new TranslucentButton("forward", this); + // Decorations + prev = new TranslucentButton("back", this); + next = new TranslucentButton("forward", this); + prog = new Progress(this); // Handle model changes connect(Library::instance(), SIGNAL(nowReadingChanged()), @@ -131,7 +117,7 @@ MainWindow::MainWindow(QWidget *parent): connect(view, SIGNAL(partLoadEnd(int)), this, SLOT(onPartLoadEnd(int))); // Handle progress - connect(view, SIGNAL(progress(qreal)), progress, SLOT(setProgress(qreal))); + connect(view, SIGNAL(progress(qreal)), prog, SLOT(setProgress(qreal))); // Shadow window for full screen reading fullScreenWindow = new FullScreenWindow(this); @@ -142,8 +128,8 @@ MainWindow::MainWindow(QWidget *parent): this, SLOT(onSettingsChanged(const QString &))); // Handle book view buttons - connect(nextButton, SIGNAL(triggered()), this, SLOT(goToNextPage())); - connect(previousButton, SIGNAL(triggered()), this, SLOT(goToPreviousPage())); + connect(next, SIGNAL(triggered()), this, SLOT(goToNextPage())); + connect(prev, SIGNAL(triggered()), this, SLOT(goToPreviousPage())); // Adopt view, show window showRegular(); @@ -195,51 +181,8 @@ void MainWindow::showRegular() TRACE; // Re-parent children - fullScreenWindow->leaveChildren(); - QList otherChildren; - otherChildren << progress << previousButton << nextButton; - takeChildren(view, otherChildren); - -#if 0 - - // Adjust geometry of decorations - - QRect geo = geometry(); - qDebug() << "MainWindow (MainWindow::showRegular)" << geo; - qDebug() << "BookView (MainWindow::showRegular)" << view->geometry(); - int y = geo.height() - progress->thickness(); -#if defined(Q_WS_MAEMO_5) || defined(Q_OS_SYMBIAN) - bool hasToolBar = false; -# if defined(Q_OS_SYMBIAN) - hasToolBar = - (QApplication::desktop()->width() < QApplication::desktop()->height()); - qDebug() << (hasToolBar? "Portrait": "Landscape"); -# endif - if (!hasToolBar) { - y -= toolBar->height(); - } -#endif - progress->setGeometry(0, y, geo.width(), y + progress->thickness()); - -#if defined(Q_WS_MAEMO_5) || defined(Q_OS_SYMBIAN) - y = geo.height() - TranslucentButton::pixels; - if (!hasToolBar) { - y -= toolBar->height(); - } - previousButton->setGeometry(0, y, TranslucentButton::pixels, - TranslucentButton::pixels); - nextButton->setGeometry(geo.width() - TranslucentButton::pixels, 0, - TranslucentButton::pixels, TranslucentButton::pixels); -#else - previousButton->setGeometry(0, geo.height() - TranslucentButton::pixels, - TranslucentButton::pixels, TranslucentButton::pixels); - nextButton->setGeometry(geo.width() - TranslucentButton::pixels - 25, - toolBar->height(), TranslucentButton::pixels, - TranslucentButton::pixels); -#endif // Q_WS_MAEMO_5 - qDebug() << "previousButton geometry" << previousButton->geometry(); - -#endif + fullScreenWindow->leaveBookView(); + takeBookView(view, prog, prev, next); fullScreenWindow->hide(); show(); @@ -253,26 +196,8 @@ void MainWindow::showBig() TRACE; // Re-parent children - leaveChildren(); - fullScreenWindow->takeChildren(view, progress, previousButton, nextButton); - -#if 0 - - // Adjust geometry of decorations - QRect screen = QApplication::desktop()->screenGeometry(); - int y = screen.height() - progress->thickness(); - progress->setGeometry(0, y, screen.width(), y + progress->thickness()); -#if defined(Q_WS_MAEMO_5) - nextButton->setGeometry(screen.width() - TranslucentButton::pixels, 0, - TranslucentButton::pixels, TranslucentButton::pixels); -#else - nextButton->setGeometry(screen.width() - TranslucentButton::pixels - 25, 0, - TranslucentButton::pixels, TranslucentButton::pixels); -#endif // Q_WS_MAEMO_5 - previousButton->setGeometry(0, screen.height() - TranslucentButton::pixels, - TranslucentButton::pixels, TranslucentButton::pixels); - -#endif + leaveBookView(); + fullScreenWindow->takeBookView(view, prog, prev, next); // #ifdef Q_OS_SYMBIAN hide(); @@ -444,67 +369,6 @@ void MainWindow::timerEvent(QTimerEvent *event) AdopterWindow::timerEvent(event); } -void MainWindow::resizeEvent(QResizeEvent *e) -{ - Trace t("MainWindow::resizeEvent"); -#ifdef Q_OS_SYMBIAN - // Tool bar is only useful in portrait mode - bool isPortrait = - (QApplication::desktop()->width() < QApplication::desktop()->height()); - toolBar->setVisible(isPortrait); -#endif - QTimer::singleShot(100, this, SLOT(placeChildren())); - AdopterWindow::resizeEvent(e); -} - -void MainWindow::placeChildren() -{ - Trace t("MainWindow::placeChildren"); - - int toolBarHeight = 0; - -#ifdef Q_OS_SYMBIAN - // Tool bar is only useful in portrait mode - bool isPortrait = - (QApplication::desktop()->width() < QApplication::desktop()->height()); - // toolBar->setVisible(isPortrait); - - // Work around Symbian bug: If there is no tool bar, increase decorator - // widgets' Y coordinates - if (!isPortrait) { - toolBarHeight = toolBar->height(); - } -#endif // Q_OS_SYMBIAN - - if (hasChild(view)) { - QRect geo = centralWidget()->geometry(); - qDebug() << "centralWidget (MainWindow::resizeEvent)" << geo; -#ifdef Q_OS_SYMBIAN - // FIXME: When returning from full screen in landscape mode, - // the central widget's height is miscalculated on Symbian. - // My apologies for this kludge - if (geo.height() == 288) { - geo.setHeight(223); - } -#endif // Q_OS_SYMBIAN - progress->setGeometry(geo.x(), - geo.y() + geo.height() - progress->thickness() + toolBarHeight, - geo.width(), progress->thickness()); - previousButton->setGeometry(geo.x(), - geo.y() + geo.height() - TranslucentButton::pixels + toolBarHeight, - TranslucentButton::pixels, TranslucentButton::pixels); - nextButton->setGeometry( - geo.x() + geo.width() - TranslucentButton::pixels, - geo.y(), TranslucentButton::pixels, TranslucentButton::pixels); - progress->flash(); - previousButton->flash(); - nextButton->flash(); - qDebug() << "Progress (MainWindow::resizeEvent)" - << progress->geometry(); - } - -} - void MainWindow::about() { Dyalog *aboutDialog = new Dyalog(this, false); @@ -526,15 +390,15 @@ void MainWindow::about() void MainWindow::goToNextPage() { - nextButton->flash(); - previousButton->flash(); + next->flash(); + prev->flash(); view->goNextPage(); } void MainWindow::goToPreviousPage() { - nextButton->flash(); - previousButton->flash(); + next->flash(); + prev->flash(); view->goPreviousPage(); }