diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-12-29 12:18:40 +0100 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2021-01-02 15:38:16 +0100 |
| commit | e5744941aed23a160c7329be0f2cb79af7d3a928 (patch) | |
| tree | 596109b3bcff198ae248e4073dfeec51c94d6eea /src/modlistview.h | |
| parent | 48fc724a0dba83874b431bd3f90ed061db64b3f7 (diff) | |
Fix dropping below/above separators.
Diffstat (limited to 'src/modlistview.h')
| -rw-r--r-- | src/modlistview.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/modlistview.h b/src/modlistview.h index c6d42d2d..af608427 100644 --- a/src/modlistview.h +++ b/src/modlistview.h @@ -8,19 +8,32 @@ class ModListView : public QTreeView
{
Q_OBJECT
+
public:
- explicit ModListView(QWidget *parent = 0);
- void setModel(QAbstractItemModel *model) override;
- QModelIndexList selectedIndexes() const;
+ // this is a public version of DropIndicatorPosition
+ enum DropPosition {
+ OnItem = DropIndicatorPosition::OnItem,
+ AboveItem = DropIndicatorPosition::AboveItem,
+ BelowItem = DropIndicatorPosition::BelowItem,
+ OnViewport = DropIndicatorPosition::OnViewport
+ };
+
+public:
+ explicit ModListView(QWidget* parent = 0);
+ void setModel(QAbstractItemModel* model) override;
signals:
void dragEntered(const QMimeData* mimeData);
+ void dropEntered(const QMimeData* mimeData, DropPosition position);
protected:
- bool m_inDragMoveEvent = false;
+ // re-implemented to fake the return value to allow drag-and-drop on
+ // itself for separators
+ //
+ QModelIndexList selectedIndexes() const;
void dragEnterEvent(QDragEnterEvent* event) override;
void dragMoveEvent(QDragMoveEvent* event) override;
@@ -28,7 +41,8 @@ protected: private:
- ViewMarkingScrollBar *m_Scrollbar;
+ ViewMarkingScrollBar* m_scrollbar;
+ bool m_inDragMoveEvent = false;
};
|
