From 44103ef737090dd74666f98fc6953d40d36adbd4 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Sun, 27 Dec 2020 16:04:49 +0100 Subject: Disable auto-collapsing after delay. --- src/modlistview.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/modlistview.cpp') diff --git a/src/modlistview.cpp b/src/modlistview.cpp index 9a640ba1..fcf34749 100644 --- a/src/modlistview.cpp +++ b/src/modlistview.cpp @@ -4,7 +4,6 @@ #include #include - class ModListViewStyle: public QProxyStyle { public: ModListViewStyle(QStyle *style, int indentation); @@ -57,3 +56,26 @@ void ModListView::setModel(QAbstractItemModel *model) setVerticalScrollBar(new ViewMarkingScrollBar(model, this)); } +void ModListView::dragMoveEvent(QDragMoveEvent* event) +{ + if (autoExpandDelay() >= 0) { + openTimer.start(autoExpandDelay(), this); + } + QAbstractItemView::dragMoveEvent(event); +} + +void ModListView::timerEvent(QTimerEvent* event) +{ + if (event->timerId() == openTimer.timerId()) { + QPoint pos = viewport()->mapFromGlobal(QCursor::pos()); + if (state() == QAbstractItemView::DraggingState + && viewport()->rect().contains(pos)) { + QModelIndex index = indexAt(pos); + setExpanded(index, true); + } + openTimer.stop(); + } + else { + QTreeView::timerEvent(event); + } +} -- cgit v1.3.1