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);
"bookmarks", tr("Bookmarks"), true);
libraryAction = addToolBarAction(this, SLOT(showLibrary()),
"library", tr("Library"), false);
- rotateAction = addToolBarAction(this, SLOT(rotate()),
- "rotate", tr("Rotate"), true);
#ifdef Q_WS_MAEMO_5
settingsAction = menuBar()->addAction(tr("Settings"));
"developer", tr("Developer"));
#endif
+ rotateAction = addToolBarAction(this, SLOT(rotate()),
+ "rotate", tr("Rotate"), true);
addToolBarSpace();
fullScreenAction = addToolBarAction(this, SLOT(showBig()),
"view-fullscreen", tr("Full screen"), true);
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
#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();
library->setNowReading(sorted.mapToSource(sorted.index(0, 0)));
}
}
-
- // Show in regular (non full-screen) mode
- showRegular();
}
void MainWindow::onCurrentBookChanged()
{
TRACE;
- // Re-parent children
+ view->setLastBookmark();
fullScreenWindow->leaveBookView();
takeBookView(view, prog, prev, next);
fullScreenWindow->hide();
show();
-
-#if defined(Q_OS_SYMBIAN)
- activateWindow();
-#endif
+ view->scheduleRestoreLastBookmark();
}
void MainWindow::showBig()
{
TRACE;
- // Re-parent children
+ view->setLastBookmark();
leaveBookView();
fullScreenWindow->takeBookView(view, prog, prev, next);
- fullScreenWindow->showFullScreen();
+#if defined(Q_WS_MAEMO_5)
+ fullScreenWindow->raise();
+#else
hide();
-
-#ifdef Q_OS_SYMBIAN
- fullScreenWindow->activateWindow();
#endif
+ fullScreenWindow->showFullScreen();
+ view->scheduleRestoreLastBookmark();
}
void MainWindow::setCurrentBook(const QModelIndex ¤t)
QString current = Settings::instance()->value("orientation",
Platform::instance()->defaultOrientation()).toString();
QString target = (current == "landscape")? "portrait": "landscape";
+ view->setLastBookmark();
Settings::instance()->setValue("orientation", target);
}
void MainWindow::showDevTools()
{
- (new DevTools())->exec();
+ (new DevTools(this))->exec();
}
void MainWindow::showBookmarks()
qDebug() << "Key" << key;
if (key == "orientation") {
- view->setLastBookmark();
QString value = Settings::instance()->value(key,
Platform::instance()->defaultOrientation()).toString();
qDebug() << "Value: orientation" << value;
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);
label->setWordWrap(true);
- label->setText(tr("<b>Dorian %1</b><br><br>Copyright © 2010 "
- "Akos Polster <akos@pipacs.com><br>"
- "Licensed under GNU General Public License, Version 3<br>"
- "Source code:<br><a href='http://dorian.garage.maemo.org/'>"
- "dorian.garage.maemo.org</a>").arg(version));
+ label->setText(tr("<b>Dorian %1</b><br><br>"
+ "Copyright © 2010-2011 by "
+ "Akos Polster <akos@pipacs.com><br><br>"
+ "Licensed under GNU General Public License, Version 3<br><br>"
+ "<a href='http://dorian.garage.maemo.org/'>"
+ "dorian.garage.maemo.org</a><br><br>"
+ ).arg(version));
aboutDialog->addWidget(label);
aboutDialog->addStretch();
aboutDialog->show();