Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Tonal от Декабрь 30, 2011, 09:06



Название: [drag&drop] Точность позиционирования при бросании в QTreeView
Отправлено: Tonal от Декабрь 30, 2011, 09:06
Реализовад стандартный d&d (http://doc.qt.nokia.com/4.7-snapshot/model-view-programming.html#using-drag-and-drop-with-item-views) для дерева.
Всё таскается, бросается и ловится. :)
Но вот засада - для того, чтобы бросить между элементами нужно очень точно прицеливатся.
Даже мышкой это сделать не просто, не говоря уже о тачпаде.
Это изрядно снижает удобство интерфейса и увеличивает вероятность ошибок пользователя.

Хочется как-то разумно увеличить размер этого промежутка.
Простое увеличение шрифта узла по ходу не влияют на размер промежутка...
Никто не сталкивался/ не решал подобную задачу?

Бегло проглядел исходники - нашел зашитую в коде константу 2 пиксела:
Код
C++ (Qt)
// file qabstractitemview.cpp
QAbstractItemView::DropIndicatorPosition
QAbstractItemViewPrivate::position(const QPoint &pos, const QRect &rect, const QModelIndex &index) const
{
   QAbstractItemView::DropIndicatorPosition r = QAbstractItemView::OnViewport;
   if (!overwrite) {
       const int margin = 2;
       ...
 
Может что проглядел?..