┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphincontroller.cpp
diff options
context:
space:
mode:
authorUrs Wolfer <[email protected]>2008-06-29 10:59:24 +0000
committerUrs Wolfer <[email protected]>2008-06-29 10:59:24 +0000
commit8677eafd24e2d40cc14a9e6dcb9069d183877df8 (patch)
treeb00803b046709d40aec39c0fe4ac3ef0f559ebcf /src/dolphincontroller.cpp
parentc446e29bc39d136c913df87635a5c36b9f077b3e (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/dolphincontroller.cpp')
-rw-r--r--src/dolphincontroller.cpp13
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));
}
}