From 073f8cae13f2637c0bf2f5611295e103418d52ff Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 26 May 2012 13:40:48 +0200 Subject: Further preperations for drag & drop support in the places panel --- src/kitemviews/kitemlistcontroller.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/kitemviews/kitemlistcontroller.cpp') diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 645b2d34a..1b9c53ccf 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -795,12 +795,10 @@ bool KItemListController::dragMoveEvent(QGraphicsSceneDragDropEvent* event, cons if (m_model->supportsDropping(index)) { newHoveredWidget->setHovered(true); } else if (m_model->sortRole().isEmpty()) { - // The model supports the inserting of items on - // the given index as no sort-role has been - // specified. Assure that a drag-indicator + // The model supports inserting of items on + // the given index. Assure that a drop-indicator // is shown by the view. - const int dropIndex = m_view->showDropIndicator(pos); - Q_UNUSED(dropIndex); // TODO + m_view->showDropIndicator(pos); } emit itemHovered(index); @@ -825,8 +823,15 @@ bool KItemListController::dropEvent(QGraphicsSceneDragDropEvent* event, const QT m_view->setAutoScroll(false); const QPointF pos = transform.map(event->pos()); - const int index = m_view->itemAt(pos); - emit itemDropEvent(index, event); + if (m_model->sortRole().isEmpty()) { + // The model supports inserting of items on + // a given index. + const int dropIndex = m_view->showDropIndicator(pos); + m_view->hideDropIndicator(); + emit itemDropEvent(dropIndex, event); + } else { + emit itemDropEvent(m_view->itemAt(pos), event); + } return true; } -- cgit v1.3