diff options
| -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)); } } |
