X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=main.cpp;h=5977925a37cc93268d49180a4e61349f4ed91b12;hb=fad075543c2b4a647ccab41bd30f2671bf57185b;hp=fa8bbb0b0d36da74c93842188c03e6fd26afce36;hpb=f0f805b5e6cd0fda0dafe6254debe6845ae2738b;p=dorian diff --git a/main.cpp b/main.cpp index fa8bbb0..5977925 100644 --- a/main.cpp +++ b/main.cpp @@ -1,12 +1,13 @@ -#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) -#include -#endif - #include #include "mainwindow.h" #include "trace.h" #include "settings.h" +#include "library.h" +#include "settings.h" +#include "bookdb.h" +#include "search.h" +#include "platform.h" static const char *DORIAN_VERSION = #include "pkg/version.txt" @@ -23,32 +24,32 @@ static const QtMsgType DORIAN_DEFAULT_TRACE_LEVEL = int main(int argc, char *argv[]) { QApplication a(argc, argv); - - Trace::level = (QtMsgType)Settings::instance()-> - value("tracelevel", (int)DORIAN_DEFAULT_TRACE_LEVEL).toInt(); - qInstallMsgHandler(Trace::messageHandler); + int ret; a.setApplicationName("Dorian"); a.setApplicationVersion(DORIAN_VERSION); a.setOrganizationDomain("pipacs.com"); a.setOrganizationName("Pipacs"); - MainWindow w; - w.show(); + Trace::level = (QtMsgType)Settings::instance()-> + value("tracelevel", (int)DORIAN_DEFAULT_TRACE_LEVEL).toInt(); + qInstallMsgHandler(Trace::messageHandler); -#if 0 // FIXME #ifdef Q_OS_SYMBIAN - // Remove context menu from all widgets - foreach (QWidget *w, QApplication::allWidgets()) { - w->setContextMenuPolicy(Qt::NoContextMenu); + { + MainWindow w; + w.show(); + ret = a.exec(); } -#endif // Q_OS_SYMBIAN - int ret = a.exec(); + // Release singletons + Library::close(); + BookDb::close(); + Settings::close(); + Search::close(); + + // Re-start application if event loop exit code was 1000 if (ret == 1000) { -#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) - extern char **environ; - execve(argv[0], argv, environ); -#endif + Platform::restart(argv); } return ret; }