this, SLOT(slotRequestItemInfo(KFileItem)));
connect(m_view, SIGNAL(urlChanged(KUrl)),
this, SLOT(slotUrlChanged(KUrl)));
+ connect(m_view, SIGNAL(requestUrlChange(KUrl)),
+ this, SLOT(slotRequestUrlChange(KUrl)));
connect(m_view, SIGNAL(modeChanged()),
this, SIGNAL(viewModeChanged())); // relay signal
}
void DolphinPart::slotUrlChanged(const KUrl& url)
+{
+ QString prettyUrl = url.pathOrUrl();
+ emit m_extension->setLocationBarUrl(prettyUrl);
+}
+
+void DolphinPart::slotRequestUrlChange(const KUrl& url)
{
if (m_view->url() != url) {
// If the view URL is not equal to 'url', then an inner URL change has
* Asks the host to open the URL \a url if the current view has
* a different URL.
*/
+ void slotRequestUrlChange(const KUrl& url);
+
+ /**
+ * Informs the host that we are opening \a url (e.g. after a redirection).
+ */
void slotUrlChanged(const KUrl& url);
/**
connect(m_controller, SIGNAL(urlChanged(const KUrl&)),
this, SIGNAL(urlChanged(const KUrl&)));
connect(m_controller, SIGNAL(requestUrlChange(const KUrl&)),
- this, SIGNAL(urlChanged(const KUrl&)));
+ this, SIGNAL(slotRequestUrlChange(const KUrl&)));
connect(m_controller, SIGNAL(requestContextMenu(const QPoint&)),
this, SLOT(openContextMenu(const QPoint&)));
connect(m_controller, SIGNAL(viewportEntered()),
this, SLOT(clearHoverInformation()));
+ connect(m_dirLister, SIGNAL(redirection(KUrl, KUrl)),
+ this, SLOT(slotRedirection(KUrl, KUrl)));
connect(m_dirLister, SIGNAL(completed()),
this, SLOT(restoreCurrentItem()));
}
}
+void DolphinView::slotRequestUrlChange(const KUrl& url)
+{
+ emit requestUrlChange(url);
+ m_controller->setUrl(url);
+}
+
+void DolphinView::slotRedirection(const KUrl& oldUrl, const KUrl& newUrl)
+{
+ if (oldUrl == m_controller->url())
+ m_controller->setUrl(newUrl);
+}
+
#include "dolphinview.moc"
/** Is emitted if URL of the view has been changed to \a url. */
void urlChanged(const KUrl& url);
+ /**
+ * Is emitted if the view requests a changing of the current
+ * URL to \a url (see DolphinController::triggerUrlChangeRequest()).
+ */
+ void requestUrlChange(const KUrl& url);
+
/**
* Is emitted when clicking on an item with the left mouse button.
*/
*/
void slotDeleteFileFinished(KJob* job);
+ /**
+ * Called when KDirLister emits redirection.
+ * Testcase: fish://localhost
+ */
+ void slotRedirection(const KUrl& oldUrl, const KUrl& newUrl);
+
+ /**
+ * Is emitted if the controller requests a changing of the current
+ * URL to \a url
+ */
+ void slotRequestUrlChange(const KUrl& url);
+
/**
* Restores the current item (= item that has the keyboard focus)
* to m_currentItemUrl.