From 4e6cf2352d3dd29b763c71a6d84865ff20ed34d8 Mon Sep 17 00:00:00 2001 From: Akos Polster Date: Sun, 28 Nov 2010 15:51:28 +0100 Subject: [PATCH] Add back splash screen. --- main.cpp | 36 +++++++++++++++++------------------- widgets/splash.cpp | 10 +--------- widgets/splash.h | 6 +++--- 3 files changed, 21 insertions(+), 31 deletions(-) diff --git a/main.cpp b/main.cpp index b655866..69bf13c 100644 --- 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(); diff --git a/widgets/splash.cpp b/widgets/splash.cpp index 967a84f..f906c29 100755 --- a/widgets/splash.cpp +++ b/widgets/splash.cpp @@ -2,14 +2,6 @@ #include "splash.h" -Splash::Splash(QWidget *parent): QMainWindow(parent) +Splash::Splash(): QSplashScreen(QPixmap(":/icons/splash.jpg")) { - - QLabel *label = new QLabel(this); - QRect geo = QApplication::desktop()->geometry(); - label->setGeometry(geo); - label->setStyleSheet("background-color: white; color: white"); - label->setPixmap(QPixmap(":/icons/splash.jpg").scaled(geo.width(), - geo.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); - setCentralWidget(label); } diff --git a/widgets/splash.h b/widgets/splash.h index 204e223..3ccf292 100755 --- a/widgets/splash.h +++ b/widgets/splash.h @@ -1,14 +1,14 @@ #ifndef SPLASH_H #define SPLASH_H -#include +#include -class Splash: public QMainWindow +class Splash: public QSplashScreen { Q_OBJECT public: - explicit Splash(QWidget *parent = 0); + explicit Splash(); }; #endif // SPLASH_H -- 1.7.9.5