X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e5eae108ca4511be9dae5f8bb4a4e1fbb0d89c7a..08f93a673d519de4cb6ecc35b151f674366fbb3d:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 002551318..d358ad733 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -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()