// case QTreeView does no selection at all, which is not the wanted behavior
// in Dolphin -> select all items within the elastic band rectangle
clearSelection();
- setState(DragSelectingState);
const int nameColumnWidth = header()->sectionSize(DolphinModel::Name);
QRect selRect = elasticBandRect();
m_expandingTogglePressed = false;
if (m_showElasticBand) {
- setState(NoState);
updateElasticBand();
m_showElasticBand = false;
}
void DolphinDetailsView::startDrag(Qt::DropActions supportedActions)
{
- DragAndDropHelper::startDrag(this, supportedActions);
+ DragAndDropHelper::startDrag(this, supportedActions, m_controller);
m_showElasticBand = false;
}
// Choose a sensible startIndex - a parentless index in the
// name column, as close to the top of the rect as we
// can find.
- QRect normalisedRect = rect.normalized();
- QModelIndex startIndex = QTreeView::indexAt(normalisedRect.topLeft());
+ const QRect normalizedRect = rect.normalized();
+ QModelIndex startIndex = QTreeView::indexAt(normalizedRect.topLeft());
if (startIndex.isValid()) {
while (startIndex.parent().isValid()) {
startIndex = startIndex.parent();
}
startIndex = model()->index(startIndex.row(), KDirModel::Name);
clearSelection();
- setSelectionRecursive(startIndex, normalisedRect, command);
+ setSelectionRecursive(startIndex, normalizedRect, command);
}
}
return;
}
+ QItemSelection selection;
// rect is assumed to be in viewport coordinates and normalized.
// Move down through the siblings of startIndex, exploring the children
// of any expanded nodes.
}
}
- QRect itemContentRect = nameColumnRect(currIndex);
+ const QRect itemContentRect = nameColumnRect(currIndex);
if (itemContentRect.top() > rect.bottom()) {
// All remaining items will be below itemContentRect, so we may cull.
- return;
+ break;
}
if (itemContentRect.intersects(rect)) {
- selectionModel()->select(currIndex, QItemSelectionModel::Select);
+ selection.select(currIndex, currIndex);
}
currIndex = belowIndex;
} while (currIndex.isValid());
+ selectionModel()->select(selection, QItemSelectionModel::Select);
}
#include "dolphindetailsview.moc"