]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/private/ktwofingerswipe.h
Fix tooltip closing while mouse moves over item
[dolphin.git] / src / kitemviews / private / ktwofingerswipe.h
1 /*
2 * SPDX-FileCopyrightText: 2020 Steffen Hartleib <steffenhartleib@t-online.de>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef KTWOFINGERSWIPE_H
8 #define KTWOFINGERSWIPE_H
9
10 #include "dolphin_export.h"
11 // Qt
12 #include <QGesture>
13 #include <QGestureRecognizer>
14
15 class DOLPHIN_EXPORT KTwoFingerSwipe : public QGesture
16 {
17 Q_OBJECT
18 Q_PROPERTY(QPointF pos READ pos WRITE setPos)
19 Q_PROPERTY(QPointF screenPos READ screenPos WRITE setScreenPos)
20 Q_PROPERTY(QPointF scenePos READ scenePos WRITE setScenePos)
21 Q_PROPERTY(qreal swipeAngle READ swipeAngle WRITE setSwipeAngle)
22 public:
23 explicit KTwoFingerSwipe(QObject* parent = nullptr);
24 ~KTwoFingerSwipe() override;
25 QPointF pos() const;
26 void setPos(QPointF pos);
27 QPointF screenPos() const;
28 void setScreenPos(QPointF screenPos);
29 QPointF scenePos() const;
30 void setScenePos(QPointF scenePos);
31 qreal swipeAngle() const;
32 void setSwipeAngle(qreal swipeAngle);
33 private:
34 QPointF m_pos;
35 QPointF m_screenPos;
36 QPointF m_scenePos;
37 qreal m_swipeAngle;
38 };
39
40 class DOLPHIN_EXPORT KTwoFingerSwipeRecognizer : public QGestureRecognizer
41 {
42 public:
43 explicit KTwoFingerSwipeRecognizer();
44 ~KTwoFingerSwipeRecognizer() override;
45 QGesture* create(QObject*) override;
46 Result recognize(QGesture*, QObject*, QEvent*) override;
47 private:
48 Q_DISABLE_COPY( KTwoFingerSwipeRecognizer )
49 qint64 m_touchBeginnTimestamp;
50 bool m_gestureAlreadyTriggered;
51 };
52
53 #endif /* KTWOFINGERSWIPE_H */
54