]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistcontroller.h
handle maps with multiple or single entries from Baloo
[dolphin.git] / src / kitemviews / kitemlistcontroller.h
index 5e5e6b7c3eedc2a142552bd4c44ac635811a3b21..b21e50735c59ab19ed6ee39f58cb7c5eacaeef74 100644 (file)
 #define KITEMLISTCONTROLLER_H
 
 #include "dolphin_export.h"
-
 #include "kitemset.h"
 
 #include <QObject>
 #include <QPointF>
+
 class QTimer;
 class KItemModelBase;
 class KItemListKeyboardSearchManager;
@@ -40,10 +40,8 @@ class QGraphicsSceneDragDropEvent;
 class QGraphicsSceneMouseEvent;
 class QGraphicsSceneResizeEvent;
 class QGraphicsSceneWheelEvent;
-class QHideEvent;
 class QInputMethodEvent;
 class QKeyEvent;
-class QShowEvent;
 class QTransform;
 
 /**
@@ -88,8 +86,8 @@ public:
      * @param view   View of the controller. The ownership is passed to the controller.
      * @param parent Optional parent object.
      */
-    KItemListController(KItemModelBase* model, KItemListView* view, QObject* parent = 0);
-    virtual ~KItemListController();
+    KItemListController(KItemModelBase* model, KItemListView* view, QObject* parent = nullptr);
+    ~KItemListController() override;
 
     void setModel(KItemModelBase* model);
     KItemModelBase* model() const;
@@ -108,6 +106,8 @@ public:
     void setMouseDoubleClickAction(MouseDoubleClickAction action);
     MouseDoubleClickAction mouseDoubleClickAction() const;
 
+    int indexCloseToMousePressedPosition() const;
+
     /**
      * Sets the delay in milliseconds when dragging an object above an item
      * until the item gets activated automatically. A value of -1 indicates
@@ -134,24 +134,7 @@ public:
     void setSingleClickActivationEnforced(bool singleClick);
     bool singleClickActivationEnforced() const;
 
-    virtual bool showEvent(QShowEvent* event);
-    virtual bool hideEvent(QHideEvent* event);
-    virtual bool keyPressEvent(QKeyEvent* event);
-    virtual bool inputMethodEvent(QInputMethodEvent* event);
-    virtual bool mousePressEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
-    virtual bool mouseMoveEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
-    virtual bool mouseReleaseEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
-    virtual bool mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
-    virtual bool dragEnterEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
-    virtual bool dragLeaveEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
-    virtual bool dragMoveEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
-    virtual bool dropEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
-    virtual bool hoverEnterEvent(QGraphicsSceneHoverEvent* event, const QTransform& transform);
-    virtual bool hoverMoveEvent(QGraphicsSceneHoverEvent* event, const QTransform& transform);
-    virtual bool hoverLeaveEvent(QGraphicsSceneHoverEvent* event, const QTransform& transform);
-    virtual bool wheelEvent(QGraphicsSceneWheelEvent* event, const QTransform& transform);
-    virtual bool resizeEvent(QGraphicsSceneResizeEvent* event, const QTransform& transform);
-    virtual bool processEvent(QEvent* event, const QTransform& transform);
+    bool processEvent(QEvent* event, const QTransform& transform);
 
 signals:
     /**
@@ -237,6 +220,8 @@ signals:
     void modelChanged(KItemModelBase* current, KItemModelBase* previous);
     void viewChanged(KItemListView* current, KItemListView* previous);
 
+    void selectedItemTextPressed(int index);
+
 private slots:
     void slotViewScrollOffsetChanged(qreal current, qreal previous);
 
@@ -303,6 +288,22 @@ private:
      */
     void updateExtendedSelectionRegion();
 
+    bool keyPressEvent(QKeyEvent* event);
+    bool inputMethodEvent(QInputMethodEvent* event);
+    bool mousePressEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
+    bool mouseMoveEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
+    bool mouseReleaseEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
+    bool mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event, const QTransform& transform);
+    bool dragEnterEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
+    bool dragLeaveEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
+    bool dragMoveEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
+    bool dropEvent(QGraphicsSceneDragDropEvent* event, const QTransform& transform);
+    bool hoverEnterEvent(QGraphicsSceneHoverEvent* event, const QTransform& transform);
+    bool hoverMoveEvent(QGraphicsSceneHoverEvent* event, const QTransform& transform);
+    bool hoverLeaveEvent(QGraphicsSceneHoverEvent* event, const QTransform& transform);
+    bool wheelEvent(QGraphicsSceneWheelEvent* event, const QTransform& transform);
+    bool resizeEvent(QGraphicsSceneResizeEvent* event, const QTransform& transform);
+
 private:
     bool m_singleClickActivationEnforced;
     bool m_selectionTogglePressed;