MCPcopy Create free account
hub / github.com/MultiMC/Launcher / dropEvent

Method dropEvent

launcher/ui/instanceview/InstanceView.cpp:606–655  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

604}
605
606void InstanceView::dropEvent(QDropEvent *event)
607{
608 executeDelayedItemsLayout();
609
610 m_lastDragPosition = QPoint();
611
612 stopAutoScroll();
613 setState(NoState);
614
615 auto mimedata = event->mimeData();
616
617 if (event->source() == this)
618 {
619 if(event->possibleActions() & Qt::MoveAction)
620 {
621 QPair<VisualGroup *, VisualGroup::HitResults> dropPos = rowDropPos(event->pos());
622 const VisualGroup *group = dropPos.first;
623 auto hitresult = dropPos.second;
624
625 if (hitresult == VisualGroup::HitResult::NoHit)
626 {
627 viewport()->update();
628 return;
629 }
630 auto instanceId = QString::fromUtf8(mimedata->data("application/x-instanceid"));
631 auto instanceList = APPLICATION->instances().get();
632 instanceList->setInstanceGroup(instanceId, group->text);
633 event->setDropAction(Qt::MoveAction);
634 event->accept();
635
636 updateGeometries();
637 viewport()->update();
638 }
639 return;
640 }
641
642 // check if the action is supported
643 if (!mimedata)
644 {
645 return;
646 }
647
648 // files dropped from outside?
649 if (mimedata->hasUrls())
650 {
651 auto urls = mimedata->urls();
652 event->accept();
653 emit droppedURLs(urls);
654 }
655}
656
657void InstanceView::startDrag(Qt::DropActions supportedActions)
658{

Callers

nothing calls this directly

Calls 7

instancesMethod · 0.80
setInstanceGroupMethod · 0.80
mimeDataMethod · 0.45
updateMethod · 0.45
dataMethod · 0.45
getMethod · 0.45
acceptMethod · 0.45

Tested by

no test coverage detected