]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistcontroller.h
Add a sort by duration option for videos
[dolphin.git] / src / kitemviews / kitemlistcontroller.h
index 0969ed21a4b0a4d7a89a000b3e45b91e0118b09f..fcb971fb7ff81d68b641741636f5b40b07858256 100644 (file)
@@ -24,6 +24,7 @@ class KItemListKeyboardSearchManager;
 class KItemListSelectionManager;
 class KItemListView;
 class KItemListWidget;
+class QContextMenuEvent;
 class QGestureEvent;
 class QGraphicsSceneHoverEvent;
 class QGraphicsSceneDragDropEvent;
@@ -49,11 +50,8 @@ class QTouchEvent;
 class DOLPHIN_EXPORT KItemListController : public QObject
 {
     Q_OBJECT
-    Q_PROPERTY(KItemModelBase *model READ model WRITE setModel)
-    Q_PROPERTY(KItemListView *view READ view WRITE setView)
-    Q_PROPERTY(SelectionBehavior selectionBehavior READ selectionBehavior WRITE setSelectionBehavior)
-    Q_PROPERTY(AutoActivationBehavior autoActivationBehavior READ autoActivationBehavior WRITE setAutoActivationBehavior)
-    Q_PROPERTY(MouseDoubleClickAction mouseDoubleClickAction READ mouseDoubleClickAction WRITE setMouseDoubleClickAction)
+    Q_PROPERTY(KItemModelBase *model READ model WRITE setModel NOTIFY modelChanged)
+    Q_PROPERTY(KItemListView *view READ view WRITE setView NOTIFY viewChanged)
 
 public:
     enum SelectionBehavior { NoSelection, SingleSelection, MultiSelection };
@@ -232,6 +230,12 @@ Q_SIGNALS:
     void decreaseZoom();
     void swipeUp();
 
+    /**
+     * Emitted when the view's background is double-clicked.
+     * Used to trigger an user configured action.
+     */
+    void doubleClickViewBackground(Qt::MouseButton button);
+
 public Q_SLOTS:
     void slotStateChanged(QScroller::State newState);
 
@@ -316,6 +320,7 @@ private:
     bool mouseMoveEvent(QGraphicsSceneMouseEvent *event, const QTransform &transform);
     bool mouseReleaseEvent(QGraphicsSceneMouseEvent *event, const QTransform &transform);
     bool mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event, const QTransform &transform);
+    bool contextMenuEvent(QContextMenuEvent *event);
     bool dragEnterEvent(QGraphicsSceneDragDropEvent *event, const QTransform &transform);
     bool dragLeaveEvent(QGraphicsSceneDragDropEvent *event, const QTransform &transform);
     bool dragMoveEvent(QGraphicsSceneDragDropEvent *event, const QTransform &transform);
@@ -332,7 +337,7 @@ private:
     void pinchTriggered(QGestureEvent *event, const QTransform &transform);
     void swipeTriggered(QGestureEvent *event, const QTransform &transform);
     void twoFingerTapTriggered(QGestureEvent *event, const QTransform &transform);
-    bool onPress(const QPoint &screenPos, const QPointF &pos, const Qt::KeyboardModifiers modifiers, const Qt::MouseButtons buttons);
+    bool onPress(const QPointF &pos, const Qt::KeyboardModifiers modifiers, const Qt::MouseButtons buttons);
     bool onRelease(const QPointF &pos, const Qt::KeyboardModifiers modifiers, const Qt::MouseButtons buttons, bool touch);
     void startRubberBand();
 
@@ -355,7 +360,7 @@ private:
     KItemListSelectionManager *m_selectionManager;
     KItemListKeyboardSearchManager *m_keyboardManager;
     std::optional<int> m_pressedIndex;
-    QPointF m_pressedMousePos;
+    QPointF m_pressedMouseGlobalPos;
 
     QTimer *m_autoActivationTimer;