diff --git a/src/vmdeditor.cpp b/src/vmdeditor.cpp index ebd7e97f..b589fa73 100644 --- a/src/vmdeditor.cpp +++ b/src/vmdeditor.cpp @@ -732,6 +732,15 @@ void VMdEditor::insertFromMimeData(const QMimeData *p_source) dialog.addSelection(tr("Insert As Image"), 0); dialog.addSelection(tr("Insert As Text"), 1); + if (p_source->hasHtml()) { + // Handle . + QRegExp reg("]*)src=\"([^\"]+)\"([^>]*)>"); + if (reg.indexIn(p_source->html()) != -1) { + m_editOps->insertImageFromURL(QUrl(reg.cap(2))); + return; + } + } + if (p_source->hasImage()) { // Image data in the clipboard if (p_source->hasText()) { @@ -749,7 +758,9 @@ void VMdEditor::insertFromMimeData(const QMimeData *p_source) m_editOps->insertImageFromMimeData(p_source); return; - } else if (p_source->hasUrls()) { + } + + if (p_source->hasUrls()) { QList urls = p_source->urls(); if (urls.size() == 1 && VUtils::isImageURL(urls[0])) { if (dialog.exec() == QDialog::Accepted) { @@ -768,7 +779,9 @@ void VMdEditor::insertFromMimeData(const QMimeData *p_source) return; } } - } else if (p_source->hasText()) { + } + + if (p_source->hasText()) { QString text = p_source->text(); if (VUtils::isImageURLText(text)) { // The text is a URL to an image.