MCPcopy Create free account
hub / github.com/OpenBoard-org/OpenBoard / processMimeData

Method processMimeData

src/board/UBBoardController.cpp:2577–2710  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2575}
2576
2577void UBBoardController::processMimeData(const QMimeData* pMimeData, const QPointF& pPos)
2578{
2579 if (pMimeData->hasFormat(UBApplication::mimeTypeUniboardPageItem))
2580 {
2581 const UBMimeDataGraphicsItem* mimeData = qobject_cast <const UBMimeDataGraphicsItem*>(pMimeData);
2582
2583 if (mimeData)
2584 {
2585 QList<UBItem*> items = mimeData->items();
2586 std::stable_sort(items.begin(),items.end(),zLevelLessThan);
2587 foreach(UBItem* item, items)
2588 {
2589 QGraphicsItem* pItem = dynamic_cast<QGraphicsItem*>(item);
2590 if(NULL != pItem){
2591 duplicateItem(item);
2592 }
2593 }
2594
2595 return;
2596 }
2597 }
2598
2599 if(pMimeData->hasHtml())
2600 {
2601 QString qsHtml = pMimeData->html();
2602 QString url = UBApplication::urlFromHtml(qsHtml);
2603
2604 if("" != url)
2605 {
2606 downloadURL(url, QString(), pPos);
2607 return;
2608 }
2609 }
2610
2611 if (pMimeData->hasUrls())
2612 {
2613 QList<QUrl> urls = pMimeData->urls();
2614
2615 int index = 0;
2616
2617 const UBFeaturesMimeData *internalMimeData = qobject_cast<const UBFeaturesMimeData*>(pMimeData);
2618 bool internalData = false;
2619 if (internalMimeData) {
2620 internalData = true;
2621 }
2622
2623 foreach(const QUrl url, urls){
2624 QPointF pos(pPos + QPointF(index * 15, index * 15));
2625
2626 downloadURL(url, QString(), pos, QSize(), false, internalData);
2627 index++;
2628 }
2629
2630 return;
2631 }
2632
2633 if (pMimeData->hasImage())
2634 {

Callers 1

dropEventMethod · 0.80

Calls 13

htmlMethod · 0.80
formatsMethod · 0.80
addSvgMethod · 0.80
addImageMethod · 0.80
selectedItemsMethod · 0.80
addTextHtmlMethod · 0.80
itemsMethod · 0.45
isEmptyMethod · 0.45
saveMethod · 0.45
setDataMethod · 0.45
dataMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected