diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 5211236145d875ce33c5f0cba877630e93af40e7..82a076e81e0d94178e65f1e1ccfc74ff43b74652 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -101,8 +101,6 @@ extern "C" void handleSigInt(int sig) using namespace Core; using namespace Core::Internal; -static const char *uriListMimeFormatC = "text/uri-list"; - enum { debugMainWindow = 0 }; MainWindow::MainWindow() : @@ -358,7 +356,7 @@ static bool isDesktopFileManagerDrop(const QMimeData *d, QStringList *files = 0) if (files) files->clear(); // Extract dropped files from Mime data. - if (!d->hasFormat(QLatin1String(uriListMimeFormatC))) + if (!d->hasUrls()) return false; const QList<QUrl> urls = d->urls(); if (urls.empty()) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 3bc8283b1b0a2d8bc761266d8705d133a8f41723..bac82bf82a5dda97f72c6e21629a72bf9503334d 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -3388,6 +3388,17 @@ void BaseTextEditor::keyReleaseEvent(QKeyEvent *e) QPlainTextEdit::keyReleaseEvent(e); } +void BaseTextEditor::dragEnterEvent(QDragEnterEvent *e) +{ + // If the drag event contains URLs, we don't want to insert them as text + if (e->mimeData()->hasUrls()) { + e->ignore(); + return; + } + + QPlainTextEdit::dragEnterEvent(e); +} + void BaseTextEditor::extraAreaLeaveEvent(QEvent *) { // fake missing mouse move event from Qt diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index ba4e9f1003b5263c8dc033c5fdf1c8fc428e560f..e24d73edd2606482f27db59672db96d5cfed5755 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -530,6 +530,8 @@ protected: void leaveEvent(QEvent *); void keyReleaseEvent(QKeyEvent *); + void dragEnterEvent(QDragEnterEvent *e); + public: // Returns true if key triggers an indent. virtual bool isElectricCharacter(const QChar &ch) const;