diff options
Diffstat (limited to 'EventFilter.h')
-rw-r--r-- | EventFilter.h | 28 |
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 |