#include "myeventfilter.h" MyEventFilter::MyEventFilter() { m_source = nullptr; m_filterEnabled = false; m_timerReset = false; } MyEventFilter::~MyEventFilter() { if (m_source != nullptr) { m_source->removeEventFilter(this); } } void MyEventFilter::setSource(QObject *source) { source->installEventFilter(this); m_source = source; } void MyEventFilter::setFilterEnabled(bool enabled) { m_filterEnabled = enabled; } void MyEventFilter::setTimerReset(bool reset) { m_timerReset = reset; emit timerResetChanged(); } bool MyEventFilter::eventFilter(QObject *obj, QEvent *event) { qDebug() << "Processing event " << event->type(); if (!m_filterEnabled) { return false; } if (event->type() == QEvent::KeyPress || event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseMove || event->type() == QEvent::TouchBegin || event->type() == QEvent::TouchEnd || event->type() == QEvent::TouchUpdate) { setTimerReset(!m_timerReset); } return m_source->eventFilter(obj, event); }