┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinview.cpp
diff options
context:
space:
mode:
authorDavid Faure <[email protected]>2014-11-02 15:20:41 +0100
committerDavid Faure <[email protected]>2014-11-02 15:20:41 +0100
commit8b306b67bfcfec3bb042e4fcd6c89f2daa25cc08 (patch)
tree40a6b1acfb629c01e6afd2d2f0b7ee0462d2198d /src/views/dolphinview.cpp
parente256daa5693ba271a62959372f3e89cc93da9487 (diff)
Port from KonqOperations::doPaste to new job KIO::paste
Remove KonqOperations::doPaste.
Diffstat (limited to 'src/views/dolphinview.cpp')
-rw-r--r--src/views/dolphinview.cpp38
1 files changed, 29 insertions, 9 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index b330e5f5c..7228b1131 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -51,6 +51,7 @@
#include <KIO/JobUiDelegate>
#include <KIO/NetAccess>
#include <KIO/PreviewJob>
+#include <KIO/PasteJob>
#include <KIO/Paste>
#include <KJob>
#include <QMenu>
@@ -1040,16 +1041,19 @@ void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* even
event->modifiers());
QString error;
- KonqOperations* op = DragAndDropHelper::dropUrls(destItem, destUrl, &dropEvent, error);
+ KonqOperations* job = DragAndDropHelper::dropUrls(destItem, destUrl, &dropEvent, error);
if (!error.isEmpty()) {
emit infoMessage(error);
}
- if (op && destUrl == url()) {
+ if (job && destUrl == url()) {
// Mark the dropped urls as selected.
m_clearSelectionBeforeSelectingNewItems = true;
m_markFirstNewlySelectedItemAsCurrent = true;
- connect(op, static_cast<void(KonqOperations::*)(const QList<QUrl>&)>(&KonqOperations::aboutToCreate), this, &DolphinView::slotAboutToCreate);
+ connect(job, static_cast<void(KonqOperations::*)(const QList<QUrl>&)>(&KonqOperations::aboutToCreate), this, &DolphinView::slotAboutToCreate);
+ // TODO
+ //connect(job, &KIO::InteractiveDropJob::itemCreated, this, &DolphinView::slotItemCreated);
+ //connect(job, &KIO::InteractiveDropJob::result, this, &DolphinView::slotPasteJobResult);
}
setActive(true);
@@ -1096,6 +1100,22 @@ void DolphinView::slotAboutToCreate(const QList<QUrl>& urls)
}
}
+void DolphinView::slotItemCreated(const QUrl& url)
+{
+ if (m_markFirstNewlySelectedItemAsCurrent) {
+ markUrlAsCurrent(url);
+ m_markFirstNewlySelectedItemAsCurrent = false;
+ }
+ m_selectedUrls << url;
+}
+
+void DolphinView::slotPasteJobResult(KJob *)
+{
+ if (!m_selectedUrls.isEmpty()) {
+ m_selectedUrls << KDirModel::simplifiedUrlList(m_selectedUrls);
+ }
+}
+
void DolphinView::slotSelectionChanged(const KItemSet& current, const KItemSet& previous)
{
const int currentCount = current.count();
@@ -1649,12 +1669,12 @@ void DolphinView::applyModeToView()
void DolphinView::pasteToUrl(const QUrl& url)
{
- KonqOperations* op = KonqOperations::doPaste(this, url);
- if (op) {
- m_clearSelectionBeforeSelectingNewItems = true;
- m_markFirstNewlySelectedItemAsCurrent = true;
- connect(op, static_cast<void(KonqOperations::*)(const QList<QUrl>&)>(&KonqOperations::aboutToCreate), this, &DolphinView::slotAboutToCreate);
- }
+ KIO::PasteJob *job = KIO::paste(QApplication::clipboard()->mimeData(), url);
+ KJobWidgets::setWindow(job, this);
+ m_clearSelectionBeforeSelectingNewItems = true;
+ m_markFirstNewlySelectedItemAsCurrent = true;
+ connect(job, &KIO::PasteJob::itemCreated, this, &DolphinView::slotItemCreated);
+ connect(job, &KIO::PasteJob::result, this, &DolphinView::slotPasteJobResult);
}
QList<QUrl> DolphinView::simplifiedSelectedUrls() const