]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphin.cpp
port to Qt4
[dolphin.git] / src / dolphin.cpp
index b3991531b569e68da0c8f8654a589cb3fd074a6c..db4f468890d5da720041f21d64e909a045a6864e 100644 (file)
@@ -143,6 +143,7 @@ void Dolphin::dropUrls(const KUrl::List& urls,
         /* KDE4-TODO: selectedIndex = popup.exec(QCursor::pos()); */
         popup.exec(QCursor::pos());
         selectedIndex = 0; // KD4-TODO: use QAction instead of switch below
+        // See libkonq/konq_operations.cc: KonqOperations::doDropFileCopy() (and doDrop, the main method)
     }
 
     if (selectedIndex < 0) {
@@ -554,10 +555,10 @@ void Dolphin::deleteItems()
                                                        ) == KMessageBox::Continue;
     if (del) {
         KIO::Job* job = KIO::del(list);
-        connect(job, SIGNAL(result(KIO::Job*)),
-                this, SLOT(slotHandleJobError(KIO::Job*)));
-        connect(job, SIGNAL(result(KIO::Job*)),
-                this, SLOT(slotDeleteFileFinished(KIO::Job*)));
+        connect(job, SIGNAL(result(KJob*)),
+                this, SLOT(slotHandleJobError(KJob*)));
+        connect(job, SIGNAL(result(KJob*)),
+                this, SLOT(slotDeleteFileFinished(KJob*)));
     }
 }
 
@@ -585,7 +586,7 @@ void Dolphin::quit()
     close();
 }
 
-void Dolphin::slotHandleJobError(KIO::Job* job)
+void Dolphin::slotHandleJobError(KJob* job)
 {
     if (job->error() != 0) {
         m_activeView->statusBar()->setMessage(job->errorString(),
@@ -593,7 +594,7 @@ void Dolphin::slotHandleJobError(KIO::Job* job)
     }
 }
 
-void Dolphin::slotDeleteFileFinished(KIO::Job* job)
+void Dolphin::slotDeleteFileFinished(KJob* job)
 {
     if (job->error() == 0) {
         m_activeView->statusBar()->setMessage(i18n("Delete operation completed."),
@@ -641,6 +642,9 @@ void Dolphin::slotRedoTextChanged(const QString& text)
 
 void Dolphin::cut()
 {
+    // TODO: 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
     m_clipboardContainsCutData = true;
     /* KDE4-TODO: Q3DragObject* data = new KUrlDrag(m_activeView->selectedUrls(),
                                        widget());
@@ -658,7 +662,7 @@ void Dolphin::copy()
 
 void Dolphin::paste()
 {
-    /* KDE4-TODO:
+    /* KDE4-TODO:   - see KonqOperations::doPaste
     QClipboard* clipboard = QApplication::clipboard();
     QMimeSource* data = clipboard->data();
     if (!KUrlDrag::canDecode(data)) {
@@ -739,6 +743,8 @@ void Dolphin::updatePasteAction()
         else if (count == 1) {
             // Only one file is selected. Pasting is only allowed if this
             // file is a directory.
+            // TODO: this doesn't work with remote protocols; instead we need a
+            // m_activeView->selectedFileItems() to get the real KFileItems
             const KFileItem fileItem(S_IFDIR,
                                      KFileItem::Unknown,
                                      urls.first(),
@@ -994,7 +1000,7 @@ void Dolphin::editSettings()
     dlg.exec();
 }
 
-void Dolphin::addUndoOperation(KIO::Job* job)
+void Dolphin::addUndoOperation(KJob* job)
 {
     if (job->error() != 0) {
         slotHandleJobError(job);
@@ -1022,7 +1028,12 @@ void Dolphin::addUndoOperation(KIO::Job* job)
                 // all source Urls must be updated with the trash Url. E. g. when moving
                 // a file "test.txt" and a second file "test.txt" to the trash,
                 // then the filenames in the trash are "0-test.txt" and "1-test.txt".
-                QMap<QString, QString> metaData = job->metaData();
+                QMap<QString, QString> metaData;
+                KIO::Job *kiojob = qobject_cast<KIO::Job*>( job );
+                if ( kiojob )
+                {
+                    metaData = kiojob->metaData();
+                }
                 KUrl::List newSourceUrls;
 
                 KUrl::List sourceUrls = command.source();
@@ -1266,7 +1277,7 @@ void Dolphin::setupActions()
     KToggleAction* detailsView = new KToggleAction(i18n("Details"), actionCollection(), "details");
     detailsView->setShortcut(Qt::CTRL | Qt::Key_2);
     detailsView->setIcon(KIcon("view_text"));
-    connect(detailsView, SIGNAL(triggered()), this, SLOT(setIconsView()));
+    connect(detailsView, SIGNAL(triggered()), this, SLOT(setDetailsView()));
 
     KToggleAction* previewsView = new KToggleAction(i18n("Previews"), actionCollection(), "previews");
     previewsView->setShortcut(Qt::CTRL | Qt::Key_3);
@@ -1418,7 +1429,7 @@ void Dolphin::setupCreateNewMenuActions()
     unplugActionList("create_actions");
     KSortableList<CreateFileEntry, QString>::ConstIterator it = m_createFileTemplates.begin();
     KSortableList<CreateFileEntry, QString>::ConstIterator end = m_createFileTemplates.end();
-    /* KDE4-TODO:
+    /* KDE4-TODO: don't port this code; use KNewMenu instead
     while (it != end) {
         CreateFileEntry entry = (*it).value();
         KAction* action = new KAction(entry.name);
@@ -1607,8 +1618,8 @@ void Dolphin::addPendingUndoJob(KIO::Job* job,
                                 const KUrl::List& source,
                                 const KUrl& dest)
 {
-    connect(job, SIGNAL(result(KIO::Job*)),
-            this, SLOT(addUndoOperation(KIO::Job*)));
+    connect(job, SIGNAL(result(KJob*)),
+            this, SLOT(addUndoOperation(KJob*)));
 
     UndoInfo undoInfo;
     undoInfo.id = job->progressId();