int ret;
// Set up application
- QApplication a(argc, argv);
- a.setApplicationName("Dorian");
- a.setApplicationVersion(DORIAN_VERSION);
- a.setOrganizationDomain("pipacs.com");
- a.setOrganizationName("Pipacs");
+ QApplication app(argc, argv);
+ app.setApplicationName("Dorian");
+ app.setApplicationVersion(DORIAN_VERSION);
+ app.setOrganizationDomain("pipacs.com");
+ app.setOrganizationName("Pipacs");
// Initialize tracing
Settings *settings = Settings::instance();
Trace::setFileName(settings->value("tracefilename").toString());
qInstallMsgHandler(Trace::messageHandler);
-#if 0 // def Q_OS_SYMBIAN
+#ifdef Q_OS_SYMBIAN
// Show splash screen
- Splash *splash = new Splash();
- splash->showFullScreen();
- // splash->showMaximized();
- splash->raise();
- a.processEvents();
+ Splash splash;
+ splash.show();
+ app.processEvents();
#endif
- // Create and initialize main window, then run event loop
+ // Initialize main window
MainWindow *mainWindow = new MainWindow();
settings->apply();
mainWindow->initialize();
-#if 0 // def Q_OS_SYMBIAN
- splash->close();
- delete splash;
- mainWindow->showNormal();
+
+#ifdef Q_OS_SYMBIAN
+ // Hide splash screen
+ splash.finish(mainWindow);
#endif
- ret = a.exec();
- delete mainWindow;
- // Re-start application if event loop exit code was 1000
+ // Run event loop, Re-start application if event loop exit code was 1000
+ ret = app.exec();
if (ret == 1000) {
Platform::instance()->restart(argv);
}
// Release singletons
+ delete mainWindow;
Library::close();
BookDb::close();
Settings::close();
\r
#include "splash.h"\r
\r
-Splash::Splash(QWidget *parent): QMainWindow(parent)\r
+Splash::Splash(): QSplashScreen(QPixmap(":/icons/splash.jpg"))\r
{\r
-\r
- QLabel *label = new QLabel(this);\r
- QRect geo = QApplication::desktop()->geometry();\r
- label->setGeometry(geo);\r
- label->setStyleSheet("background-color: white; color: white");\r
- label->setPixmap(QPixmap(":/icons/splash.jpg").scaled(geo.width(),\r
- geo.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation));\r
- setCentralWidget(label);\r
}\r
#ifndef SPLASH_H\r
#define SPLASH_H\r
\r
-#include <QMainWindow>\r
+#include <QSplashScreen>\r
\r
-class Splash: public QMainWindow\r
+class Splash: public QSplashScreen\r
{\r
Q_OBJECT\r
\r
public:\r
- explicit Splash(QWidget *parent = 0);\r
+ explicit Splash();\r
};\r
\r
#endif // SPLASH_H\r