]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
remove the asynchronous update of the zooming again, it decreases the "feeled" perfor...
[dolphin.git] / src / dolphinmainwindow.cpp
index 2ab72536715094852cc90dd0014ec27c083d6868..48f085e336bf872d6e13d30fe810fc3e26acb9bf 100644 (file)
@@ -110,6 +110,10 @@ DolphinMainWindow::DolphinMainWindow(int id) :
             this, SLOT(slotUndoAvailable(bool)));
     connect(undoManager, SIGNAL(undoTextChanged(const QString&)),
             this, SLOT(slotUndoTextChanged(const QString&)));
+    connect(undoManager, SIGNAL(jobRecordingStarted(CommandType)),
+            this, SLOT(clearStatusBar()));
+    connect(undoManager, SIGNAL(jobRecordingFinished(CommandType)),
+            this, SLOT(showCommand(CommandType)));
     connect(DolphinSettings::instance().placesModel(), SIGNAL(errorMessage(const QString&)),
             this, SLOT(slotHandlePlacesError(const QString&)));
 }
@@ -134,10 +138,39 @@ void DolphinMainWindow::toggleViews()
     m_viewTab[m_tabIndex].secondaryView = container;
 }
 
-void DolphinMainWindow::slotDoingOperation(KIO::FileUndoManager::CommandType commandType)
+void DolphinMainWindow::showCommand(CommandType command)
 {
-    clearStatusBar();
-    m_undoCommandTypes.append(commandType);
+    DolphinStatusBar* statusBar = m_activeViewContainer->statusBar();
+    switch (command) {
+    case KIO::FileUndoManager::Copy:
+        statusBar->setMessage(i18nc("@info:status", "Copy operation completed."),
+                              DolphinStatusBar::OperationCompleted);
+        break;
+    case KIO::FileUndoManager::Move:
+        statusBar->setMessage(i18nc("@info:status", "Move operation completed."),
+                              DolphinStatusBar::OperationCompleted);
+        break;
+    case KIO::FileUndoManager::Link:
+        statusBar->setMessage(i18nc("@info:status", "Link operation completed."),
+                              DolphinStatusBar::OperationCompleted);
+        break;
+    case KIO::FileUndoManager::Trash:
+        statusBar->setMessage(i18nc("@info:status", "Move to trash operation completed."),
+                              DolphinStatusBar::OperationCompleted);
+        break;
+    case KIO::FileUndoManager::Rename:
+        statusBar->setMessage(i18nc("@info:status", "Renaming operation completed."),
+                              DolphinStatusBar::OperationCompleted);
+        break;
+
+    case KIO::FileUndoManager::Mkdir:
+        statusBar->setMessage(i18nc("@info:status", "Created folder."),
+                              DolphinStatusBar::OperationCompleted);
+        break;
+
+    default:
+        break;
+    }
 }
 
 void DolphinMainWindow::refreshViews()
@@ -157,16 +190,6 @@ void DolphinMainWindow::refreshViews()
     setActiveViewContainer(activeViewContainer);
 }
 
-void DolphinMainWindow::dropUrls(const KFileItem& destItem,
-                                 const KUrl& destPath,
-                                 QDropEvent* event)
-{
-    DolphinDropController dropController(this);
-    connect(&dropController, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)),
-            this, SLOT(slotDoingOperation(KIO::FileUndoManager::CommandType)));
-    dropController.dropUrls(destItem, destPath, event);
-}
-
 void DolphinMainWindow::pasteIntoFolder()
 {
     m_activeViewContainer->view()->pasteIntoFolder();
@@ -281,7 +304,7 @@ void DolphinMainWindow::openNewTab(const KUrl& url)
     viewTab.primaryView->view()->reload();
 
     m_viewTab.append(viewTab);
-    
+
     actionCollection()->action("close_tab")->setEnabled(true);
 }
 
@@ -380,42 +403,6 @@ void DolphinMainWindow::slotUndoAvailable(bool available)
     if (undoAction != 0) {
         undoAction->setEnabled(available);
     }
-
-    if (available && (m_undoCommandTypes.count() > 0)) {
-        const KIO::FileUndoManager::CommandType command = m_undoCommandTypes.takeFirst();
-        DolphinStatusBar* statusBar = m_activeViewContainer->statusBar();
-        switch (command) {
-        case KIO::FileUndoManager::Copy:
-            statusBar->setMessage(i18nc("@info:status", "Copy operation completed."),
-                                  DolphinStatusBar::OperationCompleted);
-            break;
-        case KIO::FileUndoManager::Move:
-            statusBar->setMessage(i18nc("@info:status", "Move operation completed."),
-                                  DolphinStatusBar::OperationCompleted);
-            break;
-        case KIO::FileUndoManager::Link:
-            statusBar->setMessage(i18nc("@info:status", "Link operation completed."),
-                                  DolphinStatusBar::OperationCompleted);
-            break;
-        case KIO::FileUndoManager::Trash:
-            statusBar->setMessage(i18nc("@info:status", "Move to trash operation completed."),
-                                  DolphinStatusBar::OperationCompleted);
-            break;
-        case KIO::FileUndoManager::Rename:
-            statusBar->setMessage(i18nc("@info:status", "Renaming operation completed."),
-                                  DolphinStatusBar::OperationCompleted);
-            break;
-
-        case KIO::FileUndoManager::Mkdir:
-            statusBar->setMessage(i18nc("@info:status", "Created folder."),
-                                  DolphinStatusBar::OperationCompleted);
-            break;
-
-        default:
-            break;
-        }
-
-    }
 }
 
 void DolphinMainWindow::slotUndoTextChanged(const QString& text)
@@ -1059,9 +1046,6 @@ void DolphinMainWindow::setupDockWidgets()
             this, SLOT(handlePlacesClick(KUrl, Qt::MouseButtons)));
     connect(treeWidget, SIGNAL(changeSelection(KFileItemList)),
             this, SLOT(changeSelection(KFileItemList)));
-    // TODO: connecting to urlsDropped() fails!
-    connect(treeWidget, SIGNAL(urlsDropped(KFileItem&, KUrl&, QDropEvent*)),
-            this, SLOT(dropUrls(KFileItem&, KUrl&, QDropEvent*)));
 
     // setup "Terminal"
 #ifndef Q_OS_WIN
@@ -1175,8 +1159,6 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container)
             this, SLOT(slotRequestItemInfo(KFileItem)));
     connect(view, SIGNAL(activated()),
             this, SLOT(toggleActiveView()));
-    connect(view, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)),
-            this, SLOT(slotDoingOperation(KIO::FileUndoManager::CommandType)));
     connect(view, SIGNAL(tabRequested(const KUrl&)),
             this, SLOT(openNewTab(const KUrl&)));