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);
rotateAction = addToolBarAction(this, SLOT(rotate()),
"rotate", tr("Rotate"), true);
- // addToolBarSpace();
+ 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();
-#ifdef Q_OS_SYMBIAN
- view->setFixedSize(Platform::availableSize().width(),
- Platform::availableSize().height() - Platform::softKeyHeight());
-#endif
+ fullScreenWindow->hide();
show();
+ view->scheduleRestoreLastBookmark();
}
void MainWindow::showBig()
{
TRACE;
- // Re-parent children
+ view->setLastBookmark();
leaveBookView();
fullScreenWindow->takeBookView(view, prog, prev, next);
- hide();
-#ifdef Q_OS_SYMBIAN
- view->setFixedSize(Platform::size());
+#if defined(Q_WS_MAEMO_5)
+ fullScreenWindow->raise();
+#else
+ hide();
#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);