diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 31cde2931d..3a76286e70 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -82,9 +82,10 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QStringLi this, SLOT(slotOpenContextMenu(KFileItem, const KUrl&))); connect(m_view, SIGNAL(selectionChanged(KFileItemList)), m_extension, SIGNAL(selectionInfo(KFileItemList))); - connect(m_view, SIGNAL(requestItemInfo(KFileItem)), this, SLOT(slotRequestItemInfo(KFileItem))); + connect(m_view, SIGNAL(urlChanged(const KUrl&)), + this, SLOT(slotUrlChanged(const KUrl&))); createActions(); updateViewActions(); @@ -224,4 +225,14 @@ void DolphinPart::slotViewModeActionTriggered(QAction* action) m_view->setMode(mode); } +void DolphinPart::slotUrlChanged(const KUrl& url) +{ + if (m_view->url() != url) { + // If the view URL is not equal to 'url', then an inner URL change has + // been done (e. g. by activating an existing column in the column view). + // From the hosts point of view this must be handled like changing the URL. + emit m_extension->openUrlRequest(url); + } +} + #include "dolphinpart.moc" diff --git a/src/dolphinpart.h b/src/dolphinpart.h index e4a0ffc9b3..0b901f6643 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -72,6 +72,12 @@ private Q_SLOTS: */ void slotViewModeActionTriggered(QAction*); + /** + * Asks the host to open the URL \a url if the current view has + * a different URL. + */ + void slotUrlChanged(const KUrl& url); + private: void createActions(); void updateViewActions();