X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=mainwindow.cpp;h=8694cd24ebce2cad3f28cbf1e10a4a8f6a7652cb;hb=HEAD;hp=2aa7abe7e68303938485c03856addf84d3d58edd;hpb=3ede52dcbd58dbbecc0560df8f9892f08560b70a;p=dorian diff --git a/mainwindow.cpp b/mainwindow.cpp index 2aa7abe..8694cd2 100755 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -43,10 +43,6 @@ MainWindow::MainWindow(QWidget *parent): setAttribute(Qt::WA_Maemo5StackedWindow, true); #endif -#ifndef Q_OS_SYMBIAN - setWindowTitle("Dorian"); -#endif - // Central widget. Must be an intermediate, because the book view widget // might be re-parented later QFrame *central = new QFrame(this); @@ -122,7 +118,7 @@ MainWindow::MainWindow(QWidget *parent): connect(view, SIGNAL(progress(qreal)), prog, SLOT(setProgress(qreal))); // Shadow window for full screen reading - fullScreenWindow = new FullScreenWindow(this); + fullScreenWindow = new FullScreenWindow(); connect(fullScreenWindow, SIGNAL(restore()), this, SLOT(showRegular())); // Handle settings changes @@ -138,11 +134,19 @@ MainWindow::MainWindow(QWidget *parent): #endif } +MainWindow::~MainWindow() +{ + delete fullScreenWindow; +} + void MainWindow::initialize() { TRACE; Library *library = Library::instance(); + // Show in regular (non full-screen) mode + showRegular(); + // Upgrade library if needed, then load it library->upgrade(); library->load(); @@ -167,9 +171,6 @@ void MainWindow::initialize() library->setNowReading(sorted.mapToSource(sorted.index(0, 0))); } } - - // Show in regular (non full-screen) mode - showRegular(); } void MainWindow::onCurrentBookChanged() @@ -188,6 +189,7 @@ void MainWindow::showRegular() fullScreenWindow->hide(); show(); + view->scheduleRestoreLastBookmark(); } void MainWindow::showBig() @@ -198,12 +200,13 @@ void MainWindow::showBig() leaveBookView(); fullScreenWindow->takeBookView(view, prog, prev, next); -#ifdef Q_WS_MAEMO_5 +#if defined(Q_WS_MAEMO_5) fullScreenWindow->raise(); #else hide(); #endif fullScreenWindow->showFullScreen(); + view->scheduleRestoreLastBookmark(); } void MainWindow::setCurrentBook(const QModelIndex ¤t) @@ -229,6 +232,7 @@ void MainWindow::rotate() QString current = Settings::instance()->value("orientation", Platform::instance()->defaultOrientation()).toString(); QString target = (current == "landscape")? "portrait": "landscape"; + view->setLastBookmark(); Settings::instance()->setValue("orientation", target); } @@ -256,7 +260,6 @@ void MainWindow::onSettingsChanged(const QString &key) qDebug() << "Key" << key; if (key == "orientation") { - view->setLastBookmark(); QString value = Settings::instance()->value(key, Platform::instance()->defaultOrientation()).toString(); qDebug() << "Value: orientation" << value; @@ -355,6 +358,12 @@ void MainWindow::about() Dyalog *aboutDialog = new Dyalog(this, false); aboutDialog->setWindowTitle(tr("About Dorian")); QString version = Platform::instance()->version(); +#if !defined(Q_WS_MAEMO_5) && !defined(Q_OS_SYMBIAN) + QLabel *icon = new QLabel(aboutDialog); + QPixmap pixmap(Platform::instance()->icon("dorian")); + icon->setPixmap(pixmap); + aboutDialog->addWidget(icon); +#endif QLabel *label = new QLabel(aboutDialog); label->setTextFormat(Qt::RichText); label->setOpenExternalLinks(true);