Add back splash screen.
authorAkos Polster <akos@pipacs.com>
Sun, 28 Nov 2010 14:51:28 +0000 (15:51 +0100)
committerAkos Polster <akos@pipacs.com>
Sun, 28 Nov 2010 14:51:28 +0000 (15:51 +0100)
main.cpp
widgets/splash.cpp
widgets/splash.h

index b655866..69bf13c 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -31,11 +31,11 @@ int main(int argc, char *argv[])
     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();
@@ -44,33 +44,31 @@ int main(int argc, char *argv[])
     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();
index 967a84f..f906c29 100755 (executable)
@@ -2,14 +2,6 @@
 \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
index 204e223..3ccf292 100755 (executable)
@@ -1,14 +1,14 @@
 #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