┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/private/ktwofingertap.h
diff options
context:
space:
mode:
authorSteffen Hartleib <[email protected]>2020-09-13 18:53:32 +0000
committerElvis Angelaccio <[email protected]>2020-09-13 18:53:32 +0000
commitd7b33b76a18b14e9f286e4d8326b00910b9ea02a (patch)
treeade5042c74a0d172172a9327244858825076c333 /src/kitemviews/private/ktwofingertap.h
parentd899c2b401869d29558f62fba3479bf744b0577c (diff)
Improve Touch support
With this patch dolphin now supports the following touch gestures: * Tap gesture to interact/open with directories, files and so on * TapAndHold and release gesture for access to the context menu (main window, panel folder, places and information) * TapAndHold and moving gesture for drag and drop action (main windows, panel folder and places) * pinch gesture for zoom in main window * kinetic scrolling (QScroller) for main window, panel folder, panel places, panel information, setting preview and service * two fingers swipe gesture to left, right and up as shortcut to navigate back, forward and up * two finger tap gesture to toggle item selection, similar to Ctrl and left mouse click FEATURE: 385066 FIXED-IN: 20.11.80 You are currently rebasing branch 'touch' on '85241a924'.
Diffstat (limited to 'src/kitemviews/private/ktwofingertap.h')
-rw-r--r--src/kitemviews/private/ktwofingertap.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/kitemviews/private/ktwofingertap.h b/src/kitemviews/private/ktwofingertap.h
new file mode 100644
index 000000000..614df2424
--- /dev/null
+++ b/src/kitemviews/private/ktwofingertap.h
@@ -0,0 +1,48 @@
+/*
+ * SPDX-FileCopyrightText: 2020 Steffen Hartleib <[email protected]>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef KTWOFINGERTAP_H
+#define KTWOFINGERTAP_H
+
+#include <dolphin_export.h>
+// Qt
+#include <QGesture>
+#include <QGestureRecognizer>
+
+class DOLPHIN_EXPORT KTwoFingerTap : public QGesture
+{
+ Q_OBJECT
+ Q_PROPERTY(QPointF pos READ pos WRITE setPos)
+ Q_PROPERTY(QPointF screenPos READ screenPos WRITE setScreenPos)
+ Q_PROPERTY(QPointF scenePos READ scenePos WRITE setScenePos)
+public:
+ explicit KTwoFingerTap(QObject* parent = nullptr);
+ ~KTwoFingerTap();
+ QPointF pos() const;
+ void setPos(QPointF pos);
+ QPointF screenPos() const;
+ void setScreenPos(QPointF screenPos);
+ QPointF scenePos() const;
+ void setScenePos(QPointF scenePos);
+private:
+ QPointF m_pos;
+ QPointF m_screenPos;
+ QPointF m_scenePos;
+};
+
+class DOLPHIN_EXPORT KTwoFingerTapRecognizer : public QGestureRecognizer
+{
+public:
+ explicit KTwoFingerTapRecognizer();
+ ~KTwoFingerTapRecognizer();
+ QGesture* create(QObject*) override;
+ Result recognize(QGesture*, QObject*, QEvent*) override;
+private:
+ Q_DISABLE_COPY(KTwoFingerTapRecognizer)
+ bool m_gestureTriggered;
+};
+
+#endif /* KTWOFINGERTAP_H */