#include "bookdb.h"
#include "search.h"
#include "platform.h"
+#include "splash.h"
+
+#ifdef Q_OS_SYMBIAN
+# include "mediakeysobserver.h"
+#endif
static const char *DORIAN_VERSION =
#include "pkg/version.txt"
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);
- {
- MainWindow w;
- w.show();
- ret = a.exec();
+#if 0 // def Q_OS_SYMBIAN
+ // Show splash screen
+ Splash *splash = new Splash();
+ splash->showFullScreen();
+ // splash->showMaximized();
+ splash->raise();
+ a.processEvents();
+#endif
+
+ // 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();
+ delete mainWindow;
+
+ // Re-start application if event loop exit code was 1000
+ if (ret == 1000) {
+ Platform::instance()->restart(argv);
}
// Release singletons
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;
}