From dc6bd8046f35993cae0f3659fd2420e18d0fe472 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Fri, 24 Oct 2008 19:52:28 +0000 Subject: Assure that no reloading is done if KDirLister emits a redirection, only change the the URL. Thanks to David Faure and Albert Alstals Cid for the detailed analysis! BUG: 155591 svn path=/trunk/KDE/kdebase/apps/; revision=875554 --- src/dolphinviewcontainer.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/dolphinviewcontainer.cpp') diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index bed7d2758..3c1445fa5 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -140,6 +140,8 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow, this, SLOT(slotItemTriggered(KFileItem))); connect(m_view, SIGNAL(startedPathLoading(const KUrl&)), this, SLOT(saveRootUrl(const KUrl&))); + connect(m_view, SIGNAL(redirection(KUrl, KUrl)), + this, SLOT(redirect(KUrl, KUrl))); connect(m_urlNavigator, SIGNAL(urlChanged(const KUrl&)), this, SLOT(restoreView(const KUrl&))); @@ -370,6 +372,15 @@ void DolphinViewContainer::dropUrls(const KUrl& destination, QDropEvent* event) DolphinDropController::dropUrls(KFileItem(), destination, event, this); } +void DolphinViewContainer::redirect(const KUrl& oldUrl, const KUrl& newUrl) +{ + Q_UNUSED(oldUrl); + const bool block = m_urlNavigator->signalsBlocked(); + m_urlNavigator->blockSignals(true); + m_urlNavigator->setUrl(newUrl); + m_urlNavigator->blockSignals(block); +} + void DolphinViewContainer::slotItemTriggered(const KFileItem& item) { KUrl url = item.targetUrl(); -- cgit v1.3