summaryrefslogtreecommitdiff
path: root/EventFilter.h
diff options
context:
space:
mode:
authorkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2009-12-12 21:27:54 (GMT)
committerkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2009-12-12 21:27:54 (GMT)
commit6e32acbe6591f967453ef09efed9d08642bff9db (patch)
tree8dcc4705b488f08b4c58c4ec80b936d2a32416fd /EventFilter.h
parent44357696ed7f7f6b471f87e5f1a353c07e612247 (diff)
Implemented support for opening files from the Mac OS X Finder, e.g. double-click, file type association
git-svn-id: http://svn.clifford.at/openscad/trunk@164 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'EventFilter.h')
-rw-r--r--EventFilter.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/EventFilter.h b/EventFilter.h
new file mode 100644
index 0000000..c3942b5
--- /dev/null
+++ b/EventFilter.h
@@ -0,0 +1,28 @@
+#ifndef FILTER_H_
+#define FILTER_H_
+
+#include <QObject>
+#include <QFileOpenEvent>
+#include "MainWindow.h"
+
+class EventFilter : public QObject
+{
+ Q_OBJECT;
+
+public:
+ EventFilter(QObject *parent) : QObject(parent) {}
+protected:
+ bool eventFilter(QObject *obj, QEvent *event) {
+ // Handle Apple event for opening files
+ if (event->type() == QEvent::FileOpen) {
+ QFileOpenEvent *foe = static_cast<QFileOpenEvent *>(event);
+ MainWindow::requestOpenFile(foe->file());
+ return true;
+ } else {
+ // standard event processing
+ return QObject::eventFilter(obj, event);
+ }
+ }
+};
+
+#endif
contact: Jan Huwald // Impressum