┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
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
parente256daa5693ba271a62959372f3e89cc93da9487 (diff)
Port from KonqOperations::doPaste to new job KIO::paste
Remove KonqOperations::doPaste.
-rw-r--r--src/panels/folders/treeviewcontextmenu.cpp5
-rw-r--r--src/views/dolphinview.cpp38
-rw-r--r--src/views/dolphinview.h5
3 files changed, 37 insertions, 11 deletions
diff --git a/src/panels/folders/treeviewcontextmenu.cpp b/src/panels/folders/treeviewcontextmenu.cpp
index 85d1215c6..13a5c40f1 100644
--- a/src/panels/folders/treeviewcontextmenu.cpp
+++ b/src/panels/folders/treeviewcontextmenu.cpp
@@ -31,8 +31,8 @@
#include <KConfigGroup>
#include <kurlmimedata.h>
#include <KFileItemListProperties>
-#include <konq_operations.h>
#include <KLocalizedString>
+#include <KIO/PasteJob>
#include <KIO/Paste>
#include <KIO/FileUndoManager>
#include <KPropertiesDialog>
@@ -182,7 +182,8 @@ void TreeViewContextMenu::copy()
void TreeViewContextMenu::paste()
{
- KonqOperations::doPaste(m_parent, m_fileItem.url());
+ KIO::PasteJob *job = KIO::paste(QApplication::clipboard()->mimeData(), m_fileItem.url());
+ KJobWidgets::setWindow(job, m_parent);
}
void TreeViewContextMenu::rename()
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
diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h
index 17add7420..2f7b63dd5 100644
--- a/src/views/dolphinview.h
+++ b/src/views/dolphinview.h
@@ -572,6 +572,11 @@ private slots:
/*
* Is called when new items get pasted or dropped.
*/
+ void slotItemCreated(const QUrl &url);
+ /*
+ * Is called after all pasted or dropped items have been copied to destination.
+ */
+ void slotPasteJobResult(KJob *job);
void slotAboutToCreate(const QList<QUrl> &urls);
/**