diff options
-rw-r--r-- | src/widgets/itemviews/qabstractitemview.cpp | 2 | ||||
-rw-r--r-- | tests/manual/widgets/itemviews/qtreewidget/main.cpp | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 15e6b0eb99..23e727e670 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -2194,7 +2194,7 @@ QAbstractItemViewPrivate::position(const QPoint &pos, const QRect &rect, const Q { QAbstractItemView::DropIndicatorPosition r = QAbstractItemView::OnViewport; if (!overwrite) { - const int margin = 2; + const int margin = qBound(2, qRound(qreal(rect.height()) / 5.5), 12); if (pos.y() - rect.top() < margin) { r = QAbstractItemView::AboveItem; } else if (rect.bottom() - pos.y() < margin) { diff --git a/tests/manual/widgets/itemviews/qtreewidget/main.cpp b/tests/manual/widgets/itemviews/qtreewidget/main.cpp index 5d129101fd..fb72c404a5 100644 --- a/tests/manual/widgets/itemviews/qtreewidget/main.cpp +++ b/tests/manual/widgets/itemviews/qtreewidget/main.cpp @@ -95,6 +95,18 @@ public: item5sl.append("Approver"); /* QTreeWidgetItem *item4 =*/ new QTreeWidgetItem(item4, item5sl); + treeWidget->setDragEnabled(true); + treeWidget->viewport()->setAcceptDrops(true); + treeWidget->setDragDropMode(QAbstractItemView::InternalMove); + + for (int u = 0; u < 12; ++u) { + const QString username = QString("Anonymous User %1").arg(u + 1); + QStringList info; + info << username << username << QString::number(u + 1) << QStringLiteral("Test user"); + new QTreeWidgetItem(item4, info); + } + + treeWidget->expandAll(); treeWidget->setColumnCount(item2sl.size()); QStringList itemInfo("First Name"); itemInfo.append("Last Name"); @@ -133,6 +145,7 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); ExampleDlg d; + d.resize(d.sizeHint() * 3); d.show(); app.exec(); } |