┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2006-12-17 11:52:26 +0000
committerPeter Penz <[email protected]>2006-12-17 11:52:26 +0000
commitc28c72619cef1edaf6ca732d293b321f5ac220e5 (patch)
treea53099a9222e3c432e7f52d3623dfcfea8e3f5e5 /src/dolphinmainwindow.cpp
parent3b4dfa2040c1e970ba6689bd7a874fab5f423e2d (diff)
Reanimated cut-, copy- and paste- functionality as preparation for moving to KonqUndoManager.
svn path=/trunk/playground/utils/dolphin/; revision=614325
Diffstat (limited to 'src/dolphinmainwindow.cpp')
-rw-r--r--src/dolphinmainwindow.cpp57
1 files changed, 30 insertions, 27 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 0c527bb51..dd985fc1d 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -657,33 +657,33 @@ void DolphinMainWindow::cut()
// apps. The "application/x-kde-cutselection" mimetype should be used instead, see KonqMimeData
// in libkonq
m_clipboardContainsCutData = true;
- /* KDE4-TODO: Q3DragObject* data = new KUrlDrag(m_activeView->selectedUrls(),
- widget());
- QApplication::clipboard()->setData(data);*/
+
+ QMimeData* mimeData = new QMimeData();
+ const KUrl::List selectedUrls = m_activeView->selectedUrls();
+ selectedUrls.populateMimeData(mimeData);
+
+ QApplication::clipboard()->setMimeData(mimeData);
}
void DolphinMainWindow::copy()
{
m_clipboardContainsCutData = false;
- /* KDE4-TODO:
- Q3DragObject* data = new KUrlDrag(m_activeView->selectedUrls(),
- widget());
- QApplication::clipboard()->setData(data);*/
+
+ QMimeData* mimeData = new QMimeData();
+ const KUrl::List selectedUrls = m_activeView->selectedUrls();
+ selectedUrls.populateMimeData(mimeData);
+
+ QApplication::clipboard()->setMimeData(mimeData);
}
void DolphinMainWindow::paste()
{
- /* KDE4-TODO: - see KonqOperations::doPaste
QClipboard* clipboard = QApplication::clipboard();
- QMimeSource* data = clipboard->data();
- if (!KUrlDrag::canDecode(data)) {
- return;
- }
+ const QMimeData* mimeData = clipboard->mimeData();
clearStatusBar();
- KUrl::List sourceUrls;
- KUrlDrag::decode(data, sourceUrls);
+ const KUrl::List sourceUrls = KUrl::List::fromMimeData(mimeData);
// per default the pasting is done into the current Url of the view
KUrl destUrl(m_activeView->url());
@@ -702,8 +702,12 @@ void DolphinMainWindow::paste()
}
}
-
- updateViewProperties(sourceUrls);
+ // TODO #1: use libkonq commands (see doPaste() implementation
+ // KIO::Job* job = KIO::pasteClipboard(destUrl, this, false);
+ // ...
+ // TODO #2: this boolean doesn't work between instances of dolphin or with konqueror or with other
+ // apps. The "application/x-kde-cutselection" mimetype should be used instead, see KonqMimeData
+ // in libkonq
if (m_clipboardContainsCutData) {
moveUrls(sourceUrls, destUrl);
m_clipboardContainsCutData = false;
@@ -711,7 +715,7 @@ void DolphinMainWindow::paste()
}
else {
copyUrls(sourceUrls, destUrl);
- }*/
+ }
}
void DolphinMainWindow::updatePasteAction()
@@ -723,13 +727,12 @@ void DolphinMainWindow::updatePasteAction()
QString text(i18n("Paste"));
QClipboard* clipboard = QApplication::clipboard();
- const QMimeData* data = clipboard->mimeData();
- /* KDE4-TODO:
- if (KUrlDrag::canDecode(data)) {
+ const QMimeData* mimeData = clipboard->mimeData();
+
+ KUrl::List urls = KUrl::List::fromMimeData(mimeData);
+ if (!urls.isEmpty()) {
pasteAction->setEnabled(true);
- KUrl::List urls;
- KUrlDrag::decode(data, urls);
const int count = urls.count();
if (count == 1) {
pasteAction->setText(i18n("Paste 1 File"));
@@ -738,10 +741,10 @@ void DolphinMainWindow::updatePasteAction()
pasteAction->setText(i18n("Paste %1 Files").arg(count));
}
}
- else {*/
+ else {
pasteAction->setEnabled(false);
pasteAction->setText(i18n("Paste"));
- //}
+ }
if (pasteAction->isEnabled()) {
KUrl::List urls = m_activeView->selectedUrls();
@@ -1597,9 +1600,9 @@ void DolphinMainWindow::moveUrls(const KUrl::List& source, const KUrl& dest)
}
void DolphinMainWindow::addPendingUndoJob(KIO::Job* job,
- DolphinCommand::Type commandType,
- const KUrl::List& source,
- const KUrl& dest)
+ DolphinCommand::Type commandType,
+ const KUrl::List& source,
+ const KUrl& dest)
{
connect(job, SIGNAL(result(KJob*)),
this, SLOT(addUndoOperation(KJob*)));