From 2a0ab25c1b7abc606f8cb1008b3b982de720fd47 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 23 Oct 2007 07:10:51 +0000 Subject: [PATCH] Fixed issue that within Konqueror changing the active column from the column-view is ignored. From the hosts point of view this has to be handled like an URL change. CCMAIL: faure@kde.org svn path=/trunk/KDE/kdebase/apps/; revision=728394 --- src/dolphinpart.cpp | 13 ++++++++++++- src/dolphinpart.h | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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();