diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index 9d8d1177..78b43e81 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -1841,6 +1841,18 @@ void UBBoardController::processMimeData(const QMimeData* pMimeData, const QPoint } } + if(pMimeData->hasHtml()) + { + QString qsHtml = pMimeData->html(); + QString url = UBApplication::urlFromHtml(qsHtml); + + if(!("" == url)) + { + downloadURL(url, pPos); + return; + } + } + if (pMimeData->hasUrls()) { QList urls = pMimeData->urls(); diff --git a/src/core/UBApplication.cpp b/src/core/UBApplication.cpp index be570848..c5206599 100644 --- a/src/core/UBApplication.cpp +++ b/src/core/UBApplication.cpp @@ -17,6 +17,7 @@ #include #include +#include #if defined(Q_WS_MACX) #include @@ -629,3 +630,18 @@ QString UBApplication::globalStyleSheet() return style; } + +QString UBApplication::urlFromHtml(QString html) +{ + QString url; + + QDomDocument domDoc; + domDoc.setContent(html); + QDomElement rootElem = domDoc.documentElement(); + + url = rootElem.attribute("src"); + + qDebug() << url; + + return url; +} diff --git a/src/core/UBApplication.h b/src/core/UBApplication.h index a68d928a..f58d2309 100644 --- a/src/core/UBApplication.h +++ b/src/core/UBApplication.h @@ -88,6 +88,7 @@ class UBApplication : public QtSingleApplication bool isVerbose() { return mIsVerbose;} void setVerbose(bool verbose){mIsVerbose = verbose;} + static QString urlFromHtml(QString html); signals: