}
}
+ if (event->button() & Qt::RightButton) {
+ m_selectionManager->clearSelection();
+ if (index >= 0) {
+ m_selectionManager->setSelected(index);
+ emit itemContextMenuRequested(index, event->screenPos());
+ } else {
+ const QRectF headerBounds = m_view->headerBoundaries();
+ if (headerBounds.contains(event->pos())) {
+ emit headerContextMenuRequested(event->screenPos());
+ } else {
+ emit viewContextMenuRequested(event->screenPos());
+ }
+ }
+ return true;
+ }
+
bool emitItemActivated = !(m_view->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick) || m_singleClickActivationEnforced) &&
(event->button() & Qt::LeftButton) &&
index >= 0 && index < m_model->count();
emit itemDropEvent(m_view->itemAt(pos), event);
}
- QAccessible::updateAccessibility(view(), 0, QAccessible::DragDropEnd);
+ QAccessibleEvent accessibilityEvent(view(), QAccessible::DragDropEnd);
+ QAccessible::updateAccessibility(&accessibilityEvent);
return true;
}
const QPixmap pixmap = m_view->createDragPixmap(selectedItems);
drag->setPixmap(pixmap);
- const QPoint hotSpot(pixmap.width() / 2, 0);
+ const QPoint hotSpot((pixmap.width() / pixmap.devicePixelRatio()) / 2, 0);
drag->setHotSpot(hotSpot);
drag->exec(Qt::MoveAction | Qt::CopyAction | Qt::LinkAction, Qt::CopyAction);
- QAccessible::updateAccessibility(view(), 0, QAccessible::DragDropStart);
+
+ QAccessibleEvent accessibilityEvent(view(), QAccessible::DragDropStart);
+ QAccessible::updateAccessibility(&accessibilityEvent);
}
KItemListWidget* KItemListController::hoveredWidget() const