| 2575 | } |
| 2576 | |
| 2577 | void 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 | { |
no test coverage detected