Add initial qt version
[multypo.git] / qt / main.cpp
diff --git a/qt/main.cpp b/qt/main.cpp
new file mode 100644 (file)
index 0000000..5b77857
--- /dev/null
@@ -0,0 +1,35 @@
+#include "multikbd.h"
+#include <QApplication>
+
+#include <QDebug>
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XInput2.h>
+#include <X11/Xutil.h>
+
+MultiKBD *window;
+
+class QMyApplication : public QApplication
+{
+public:
+       QMyApplication(int argc, char **argv)
+               : QApplication(argc, argv) {}
+
+       virtual bool x11EventFilter ( XEvent * event );
+};
+
+bool QMyApplication::x11EventFilter ( XEvent * event )
+{
+       if (!window) return false;
+       return window->handleX11Event(event);
+}
+
+int main(int argc, char *argv[])
+{
+       QMyApplication a(argc, argv);
+       window = new MultiKBD();
+       window->setAttribute(Qt::WA_DeleteOnClose);
+       window->show();
+       
+       return a.exec();
+}