From 8677eafd24e2d40cc14a9e6dcb9069d183877df8 Mon Sep 17 00:00:00 2001 From: Urs Wolfer Date: Sun, 29 Jun 2008 10:59:24 +0000 Subject: [PATCH] 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 --- src/dolphincontroller.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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)); } } -- 2.47.3