44void QDragManager::setCurrentTarget(QObject *target,
bool dropped)
46 if (m_currentDropTarget == target)
49 m_currentDropTarget = target;
50 if (!dropped && m_object) {
51 m_object->d_func()->target = target;
52 emit m_object->targetChanged(target);
61Qt::DropAction QDragManager::drag(QDrag *o)
63 if (!o || m_object == o)
64 return Qt::IgnoreAction;
66 if (!m_platformDrag || !o->source()) {
68 return Qt::IgnoreAction;
72 qWarning(
"QDragManager::drag in possibly invalid state");
73 return Qt::IgnoreAction;
78 m_object->d_func()->target =
nullptr;
80 QGuiApplicationPrivate::instance()->notifyDragStarted(m_object.data());
81 const Qt::DropAction result = m_platformDrag->drag(m_object);
82 if (!m_object.isNull() && !m_platformDrag->ownsDragObject())
83 m_object->deleteLater();