X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=main.cpp;h=b6558660fa3488f9f1c8ae0b15f2913df66364f9;hb=b28659ebcbbcd4c42d90e0439fc09e03fc5a47cc;hp=3bd45d99af005602c9141117895137e48f91424f;hpb=6e9f419378cace1dd0ad2e591e5372c2094a4b88;p=dorian diff --git a/main.cpp b/main.cpp index 3bd45d9..b655866 100644 --- a/main.cpp +++ b/main.cpp @@ -28,31 +28,46 @@ static const QtMsgType DORIAN_DEFAULT_TRACE_LEVEL = int main(int argc, char *argv[]) { - QApplication a(argc, argv); int ret; + // Set up application + QApplication a(argc, argv); a.setApplicationName("Dorian"); a.setApplicationVersion(DORIAN_VERSION); a.setOrganizationDomain("pipacs.com"); a.setOrganizationName("Pipacs"); - Trace::level = (QtMsgType)Settings::instance()-> + // Initialize tracing + Settings *settings = Settings::instance(); + Trace::level = (QtMsgType)settings-> value("tracelevel", (int)DORIAN_DEFAULT_TRACE_LEVEL).toInt(); + Trace::setFileName(settings->value("tracefilename").toString()); qInstallMsgHandler(Trace::messageHandler); -#ifdef Q_OS_SYMBIAN +#if 0 // def Q_OS_SYMBIAN + // Show splash screen Splash *splash = new Splash(); splash->showFullScreen(); + // splash->showMaximized(); + splash->raise(); a.processEvents(); #endif - { - MainWindow w; -#ifdef Q_OS_SYMBIAN - splash->close(); - splash->deleteLater(); + // Create and initialize main window, then run event loop + MainWindow *mainWindow = new MainWindow(); + settings->apply(); + mainWindow->initialize(); +#if 0 // def Q_OS_SYMBIAN + splash->close(); + delete splash; + mainWindow->showNormal(); #endif - ret = a.exec(); + ret = a.exec(); + delete mainWindow; + + // Re-start application if event loop exit code was 1000 + if (ret == 1000) { + Platform::instance()->restart(argv); } // Release singletons @@ -60,13 +75,10 @@ int main(int argc, char *argv[]) BookDb::close(); Settings::close(); Search::close(); + Platform::close(); #ifdef Q_OS_SYMBIAN MediaKeysObserver::close(); #endif - // Re-start application if event loop exit code was 1000 - if (ret == 1000) { - Platform::restart(argv); - } return ret; }