┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dolphinpart.cpp13
-rw-r--r--src/dolphinpart.h6
2 files changed, 18 insertions, 1 deletions
diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp
index 31cde2931..3a76286e7 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 e4a0ffc9b..0b901f664 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();