#ifdef Q_WS_MAEMO_5
setAttribute(Qt::WA_Maemo5StackedWindow, true);
#endif
+
+#ifndef Q_OS_SYMBIAN
setWindowTitle("Dorian");
+#endif
// Central widget. Must be an intermediate, because the book view widget
- // can be re-parented later
+ // might be re-parented later
QFrame *central = new QFrame(this);
QVBoxLayout *layout = new QVBoxLayout(central);
layout->setMargin(0);
// Book view
view = new BookView(this);
- view->show();
// Tool bar actions
-#ifdef Q_OS_SYMBIAN
- fullScreenAction = addToolBarAction(this, SLOT(showBig()),
- "view-fullscreen", tr("Full screen"));
-#endif
-
chaptersAction = addToolBarAction(this, SLOT(showChapters()),
"chapters", tr("Chapters"), true);
bookmarksAction = addToolBarAction(this, SLOT(showBookmarks()),
"bookmarks", tr("Bookmarks"), true);
- infoAction = addToolBarAction(this, SLOT(showInfo()),
- "info", tr("Book info"), true);
libraryAction = addToolBarAction(this, SLOT(showLibrary()),
- "library", tr("Library"), true);
+ "library", tr("Library"), false);
#ifdef Q_WS_MAEMO_5
settingsAction = menuBar()->addAction(tr("Settings"));
connect(settingsAction, SIGNAL(triggered()), this, SLOT(showSettings()));
devToolsAction = menuBar()->addAction(tr("Developer"));
connect(devToolsAction, SIGNAL(triggered()), this, SLOT(showDevTools()));
- QAction *aboutAction = menuBar()->addAction(tr("About"));
- connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));
#else
settingsAction = addToolBarAction(this, SLOT(showSettings()),
"preferences-system", tr("Settings"));
devToolsAction = addToolBarAction(this, SLOT(showDevTools()),
"developer", tr("Developer"));
- addToolBarAction(this, SLOT(about()), "about", tr("About"));
-#endif // Q_WS_MAEMO_5
+#endif
-#ifndef Q_OS_SYMBIAN
- addToolBarSpace();
+ rotateAction = addToolBarAction(this, SLOT(rotate()),
+ "rotate", tr("Rotate"), true);
+ // addToolBarSpace();
fullScreenAction = addToolBarAction(this, SLOT(showBig()),
- "view-fullscreen", tr("Full screen"));
+ "view-fullscreen", tr("Full screen"), true);
+
+#if defined(Q_WS_MAEMO_5)
+ QAction *aboutAction = menuBar()->addAction(tr("About"));
+ connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));
#else
- (void)addToolBarAction(this, SLOT(close()), "", tr("Exit"));
-#endif
+ addToolBarAction(this, SLOT(about()), "about", tr("About"));
+#endif // defined(Q_WS_MAEMO_5)
+
+#if defined(Q_OS_SYMBIAN)
+ (void)addToolBarAction(this, SLOT(close()), "", tr("Exit"), false);
+#endif // defined(Q_OS_SYMBIAN)
// Decorations
prev = new TranslucentButton("back", this);
// 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()));
fullScreenWindow->hide();
show();
-#if 0 // #if defined(Q_OS_SYMBIAN)
+#if defined(Q_OS_SYMBIAN)
activateWindow();
#endif
}
fullScreenWindow->showFullScreen();
hide();
-#if 0 // #ifdef Q_OS_SYMBIAN
+#ifdef Q_OS_SYMBIAN
fullScreenWindow->activateWindow();
#endif
}
(new SettingsWindow(this))->show();
}
-void MainWindow::showInfo()
+void MainWindow::rotate()
{
- if (mCurrent.isValid()) {
- (new InfoDialog(Library::instance()->book(mCurrent), this, false))->
- exec();
- }
+ QString current = Settings::instance()->value("orientation",
+ Platform::instance()->defaultOrientation()).toString();
+ QString target = (current == "landscape")? "portrait": "landscape";
+ Settings::instance()->setValue("orientation", target);
}
void MainWindow::showDevTools()
}
}
-void MainWindow::closeEvent(QCloseEvent *event)
+void MainWindow::onSettingsChanged(const QString &key)
{
TRACE;
- view->setLastBookmark();
- AdopterWindow::closeEvent(event);
-}
+ qDebug() << "Key" << key;
-void MainWindow::onSettingsChanged(const QString &key)
-{
-#if defined(Q_WS_MAEMO_5)
if (key == "orientation") {
+ view->setLastBookmark();
QString value = Settings::instance()->value(key,
Platform::instance()->defaultOrientation()).toString();
- qDebug() << "MainWindow::onSettingsChanged: orientation" << value;
- if (value == "portrait") {
- setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);
- setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
- fullScreenWindow->setAttribute(Qt::WA_Maemo5LandscapeOrientation,
- false);
- fullScreenWindow->setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
- } else {
- setAttribute(Qt::WA_Maemo5PortraitOrientation, false);
- setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);
- fullScreenWindow->setAttribute(Qt::WA_Maemo5PortraitOrientation,
- false);
- fullScreenWindow->setAttribute(Qt::WA_Maemo5LandscapeOrientation,
- true);
- }
- } else if (key == "lightson") {
+ qDebug() << "Value: orientation" << value;
+ Platform::instance()->setOrientation(this, value);
+ Platform::instance()->setOrientation(fullScreenWindow, value);
+ }
+
+#if defined(Q_WS_MAEMO_5)
+ else if (key == "lightson") {
bool enable = Settings::instance()->value(key, false).toBool();
- qDebug() << "MainWindow::onSettingsChanged: lightson" << enable;
killTimer(preventBlankingTimer);
if (enable) {
preventBlankingTimer = startTimer(29 * 1000);
}
}
-#else
- Q_UNUSED(key);
-#endif // Q_WS_MAEMO_5
+#endif // defined(Q_WS_MAEMO_5)
}
void MainWindow::onPartLoadStart()
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();