diff options
| author | Urs Wolfer <[email protected]> | 2008-06-29 10:59:24 +0000 |
|---|---|---|
| committer | Urs Wolfer <[email protected]> | 2008-06-29 10:59:24 +0000 |
| commit | 8677eafd24e2d40cc14a9e6dcb9069d183877df8 (patch) | |
| tree | b00803b046709d40aec39c0fe4ac3ef0f559ebcf /src | |
| parent | c446e29bc39d136c913df87635a5c36b9f077b3e (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphincontroller.cpp | 13 |
1 files 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 <QAbstractProxyModel> #include <QApplication> #include <QClipboard> +#include <QDir> 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)); } } |
