Make it build on Windows. Fix traces on Windows. Abstract out platform specific actio...
[dorian] / main.cpp
index 57d7dc2..c1c710d 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -1,4 +1,4 @@
-#ifdef Q_OS_UNIX
+#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
 #include <unistd.h>
 #endif
 
@@ -8,24 +8,32 @@
 #include "trace.h"
 #include "settings.h"
 
+static const char *DORIAN_VERSION =
+#include "pkg/version.txt"
+;
+
 int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
-    a.setApplicationName("Dorian");
-    a.setApplicationVersion("0.0.1");
-    a.setOrganizationDomain("pipacs.com");
-    a.setOrganizationName("Pipacs");
 
     Trace::level = (QtMsgType)Settings::instance()->
         value("tracelevel", (int)QtWarningMsg).toInt();
     qInstallMsgHandler(Trace::messageHandler);
 
+    a.setApplicationName("Dorian");
+    a.setApplicationVersion(DORIAN_VERSION);
+    a.setOrganizationDomain("pipacs.com");
+    a.setOrganizationName("Pipacs");
+
+#ifdef Q_OS_SYMBIAN
+    // Remove context menu from all widgets
+    foreach (QWidget *w, QApplication::allWidgets()) {
+        w->setContextMenuPolicy(Qt::NoContextMenu);
+    }
+#endif // Q_OS_SYMBIAN
+
     MainWindow w;
-#ifdef Q_WS_S60
-    w.showMaximized();
-#else
     w.show();
-#endif
 
     int ret = a.exec();
     if (ret == 1000) {