]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
Request the activation of the view, even if the column is marked as active already...
[dolphin.git] / src / dolphinmainwindow.cpp
index 00255131849e9846faf4fd78a8dcc836c00e2b0f..d358ad7330b2d6becfef992ccc41c233e026c7cb 100644 (file)
@@ -632,7 +632,7 @@ void DolphinMainWindow::readProperties(const KConfigGroup& group)
 void DolphinMainWindow::updateNewMenu()
 {
     m_newMenu->setViewShowsHiddenFiles(activeViewContainer()->view()->showHiddenFiles());
-    m_newMenu->slotCheckUpToDate();
+    m_newMenu->checkUpToDate();
     m_newMenu->setPopupFiles(activeViewContainer()->url());
 }
 
@@ -1139,6 +1139,16 @@ void DolphinMainWindow::handleUrl(const KUrl& url)
     }
 }
 
+void DolphinMainWindow::tabDropEvent(int tab, QDropEvent* event)
+{
+    const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData());
+    if (!urls.isEmpty() && tab != -1) {
+        const ViewTab& viewTab = m_viewTab[tab];
+        const KUrl destPath = viewTab.isPrimaryViewActive ? viewTab.primaryView->url() : viewTab.secondaryView->url();
+        DragAndDropHelper::instance().dropUrls(KFileItem(), destPath, event, m_tabBar);
+    }
+}
+
 void DolphinMainWindow::slotCaptionStatFinished(KJob* job)
 {
     m_captionStatJob = 0;
@@ -1227,6 +1237,8 @@ void DolphinMainWindow::init()
             this, SLOT(closeTab(int)));
     connect(m_tabBar, SIGNAL(tabMoved(int, int)),
             this, SLOT(slotTabMoved(int, int)));
+    connect(m_tabBar, SIGNAL(receivedDropEvent(int, QDropEvent*)),
+            this, SLOT(tabDropEvent(int, QDropEvent*)));
 
     m_tabBar->blockSignals(true);  // signals get unblocked after at least 2 tabs are open
 
@@ -1711,6 +1723,8 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container)
             this, SLOT(updateHistory()));
     connect(navigator, SIGNAL(editableStateChanged(bool)),
             this, SLOT(slotEditableStateChanged(bool)));
+    connect(navigator, SIGNAL(tabRequested(const KUrl&)),
+            this, SLOT(openNewTab(KUrl)));
 }
 
 void DolphinMainWindow::updateSplitAction()