45void QDragManager::setCurrentTarget(QObject *target,
bool dropped)
47 if (m_currentDropTarget == target)
50 m_currentDropTarget = target;
51 if (!dropped && m_object) {
52 m_object->d_func()->target = target;
53 emit m_object->targetChanged(target);
62Qt::DropAction QDragManager::drag(QDrag *o)
64 if (!o || m_object == o)
65 return Qt::IgnoreAction;
67 if (!m_platformDrag || !o->source()) {
69 return Qt::IgnoreAction;
73 qWarning(
"QDragManager::drag in possibly invalid state");
74 return Qt::IgnoreAction;
79 m_object->d_func()->target =
nullptr;
81 QGuiApplicationPrivate::instance()->notifyDragStarted(m_object.data());
82 const Qt::DropAction result = m_platformDrag->drag(m_object);
83 if (!m_object.isNull() && !m_platformDrag->ownsDragObject())
84 m_object->deleteLater();