From: David Faure Date: Fri, 16 Jan 2009 13:21:33 +0000 (+0000) Subject: Repair redirections in DolphinPart, it used to notify of redirections by connecting... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/f56446a61aec0b8aababd4a306bdb2305b282c29 Repair redirections in DolphinPart, it used to notify of redirections by connecting to urlChanged, but iirc there were recent changes which make dolphinview emit redirection instead of urlChanged in that case Makes me wonder if urlChanged is still useful for anything? CCMAIL: peter.penz@gmx.at svn path=/trunk/KDE/kdebase/apps/; revision=911974 --- diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 05bc2216a..7fd51f76a 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -18,6 +18,7 @@ */ #include "dolphinpart.h" +#include #include "dolphinviewactionhandler.h" #include "dolphinsortfilterproxymodel.h" #include "dolphinview.h" @@ -107,6 +108,8 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL this, SLOT(slotRequestUrlChange(KUrl))); connect(m_view, SIGNAL(modeChanged()), this, SIGNAL(viewModeChanged())); // relay signal + connect(m_view, SIGNAL(redirection(KUrl, KUrl)), + this, SLOT(slotRedirection(KUrl, KUrl))); // Watch for changes that should result in updates to the // status bar text. @@ -414,11 +417,20 @@ void DolphinPart::slotOpenContextMenu(const KFileItem& _item, const KUrl&) actionGroups); } -void DolphinPart::slotUrlChanged(const KUrl& url) +// ########### not sure this is still called... seems not. +void DolphinPart::slotUrlChanged(const KUrl& newUrl) { - KParts::ReadOnlyPart::setUrl(url); - QString prettyUrl = url.pathOrUrl(); - emit m_extension->setLocationBarUrl(prettyUrl); + slotRedirection(url(), newUrl); +} + +void DolphinPart::slotRedirection(const KUrl& oldUrl, const KUrl& newUrl) +{ + //kDebug() << oldUrl << newUrl << "currentUrl=" << url(); + if (oldUrl == url()) { + KParts::ReadOnlyPart::setUrl(newUrl); + const QString prettyUrl = newUrl.pathOrUrl(); + emit m_extension->setLocationBarUrl(prettyUrl); + } } void DolphinPart::slotRequestUrlChange(const KUrl& url) diff --git a/src/dolphinpart.h b/src/dolphinpart.h index d1c5b3c7f..04e343d95 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -143,9 +143,18 @@ private Q_SLOTS: /** * Informs the host that we are opening \a url (e.g. after a redirection). + * ########### not sure this is still called... seems not. */ void slotUrlChanged(const KUrl& url); + /** + * Informs the host that we are opening \a url (e.g. after a redirection + * coming from KDirLister). + * Testcase 1: fish://localhost + * Testcase 2: showing a directory that is being renamed by another window (#180156) + */ + void slotRedirection(const KUrl& oldUrl, const KUrl& newUrl); + /** * Updates the state of the 'Edit' menu actions and emits * the signal selectionChanged().