From: Urs Wolfer Date: Sun, 29 Jun 2008 10:59:24 +0000 (+0000) Subject: Improve mouse middle click path paste behavior: first check selection clipboard,... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/8677eafd24e2d40cc14a9e6dcb9069d183877df8 Improve mouse middle click path paste behavior: first check selection clipboard, after 'real' clipboard. Before setting new URL, check if it is a path. This prevents a crash. Behavior is now similar to Konqueror KDE 3. Reviewed by Peter Penz. svn path=/trunk/KDE/kdebase/apps/; revision=825771 --- diff --git a/src/dolphincontroller.cpp b/src/dolphincontroller.cpp index 091b73796..b00ca7160 100644 --- a/src/dolphincontroller.cpp +++ b/src/dolphincontroller.cpp @@ -23,6 +23,7 @@ #include #include #include +#include DolphinController::DolphinController(DolphinView* dolphinView) : QObject(dolphinView), @@ -136,10 +137,14 @@ void DolphinController::handleKeyPressEvent(QKeyEvent* event) void DolphinController::replaceUrlByClipboard() { - QClipboard* clipboard = QApplication::clipboard(); - const QMimeData* mimeData = clipboard->mimeData(); - if (mimeData->hasText()) { - const QString text = mimeData->text(); + const QClipboard* clipboard = QApplication::clipboard(); + QString text; + if (clipboard->mimeData(QClipboard::Selection)->hasText()) { + text = clipboard->mimeData(QClipboard::Selection)->text(); + } else if (clipboard->mimeData(QClipboard::Clipboard)->hasText()) { + text = clipboard->mimeData(QClipboard::Clipboard)->text(); + } + if (!text.isEmpty() && QDir::isAbsolutePath(text)) { m_dolphinView->setUrl(KUrl(text)); } }