3#include <QAbstractButton>
4#include <QAbstractScrollArea>
5#include <QAbstractSlider>
6#include <QAbstractSpinBox>
9#include <QContextMenuEvent>
24 m_timer->setTimerType(Qt::CoarseTimer);
31 switch (event->type()) {
32 case QEvent::MouseButtonPress:
33 case QEvent::MouseButtonDblClick:
34 handleMousePress(qobject_cast<QWidget *>(watched),
static_cast<QMouseEvent *
>(event));
36 case QEvent::MouseMove:
39 case QEvent::MouseButtonRelease:
45 return QObject::eventFilter(watched, event);
51 const QStyleHints *sh = qApp->styleHints();
54#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
63 int longPressInterval =
64 QAndroidJniObject::callStaticMethod<jint>(
"org/krita/android/MainActivity",
"getLongPressTimeout",
"()I");
66 int longPressInterval = sh->mousePressAndHoldInterval();
76#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
77 QPoint globalPos = me->globalPos();
79 QPoint globalPos = me->globalPosition().toPoint();
110 switch (
target->contextMenuPolicy()) {
111 case Qt::NoContextMenu:
114 case Qt::PreventContextMenu:
126 if (prop.isValid()) {
127 return prop.toBool();
139 if (qobject_cast<QAbstractButton *>(
target)) {
145 if (qobject_cast<QAbstractScrollArea *>(
target)) {
150 if (qobject_cast<QAbstractSlider *>(
target)) {
155 if (qobject_cast<QAbstractSpinBox *>(
target)) {
160 if (qobject_cast<QComboBox *>(
target)) {
165 if (qobject_cast<QLineEdit *>(
target)) {
170 if (qobject_cast<QMenu *>(
target)) {
175 if (qobject_cast<QMenuBar *>(
target)) {
KisMagneticGraph::vertex_descriptor target(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
qreal distance(const QPointF &p1, const QPointF &p2)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
static constexpr char ENABLED_PROPERTY[]
long long m_distanceSquared
void handleMousePress(QWidget *target, const QMouseEvent *me)
static constexpr int MINIMUM_DISTANCE
QPointer< QWidget > m_target
KisLongPressEventFilter(QObject *parent=nullptr)
bool isWithinDistance(const QPoint &globalPos) const
void handleMouseMove(const QMouseEvent *me)
static bool isLongPressableWidget(QWidget *target)
bool eventFilter(QObject *watched, QEvent *event) override
static constexpr int MINIMUM_DELAY
static bool isContextMenuTarget(QWidget *target)