m_controller = new DolphinController(this);
m_controller->setUrl(url);
+ connect(m_controller, SIGNAL(urlChanged(const KUrl&)),
+ this, SIGNAL(urlChanged(const KUrl&)));
connect(m_controller, SIGNAL(requestContextMenu(const QPoint&)),
this, SLOT(openContextMenu(const QPoint&)));
connect(m_controller, SIGNAL(urlsDropped(const KUrl::List&, const QModelIndex&, QWidget*)),
return;
}
- // Prefer the local path over the URL. This assures that the
- // volume space information is correct. Assuming that the URL is media:/sda1,
- // and the local path is /windows/C: For the URL the space info is related
- // to the root partition (and hence wrong) and for the local path the space
- // info is related to the windows partition (-> correct).
- const QString localPath(item->localPath());
- KUrl url;
- if (localPath.isEmpty()) {
- url = item->url();
- } else {
- url = localPath;
- }
+ // The stuff below should be moved to ViewContainer and be just a signal?
+
+ // Prefer the local path over the URL.
+ bool isLocal;
+ KUrl url = item->mostLocalUrl(isLocal);
if (item->isDir()) {
setUrl(url);
if (!url.isValid()) {
const QString location(url.pathOrUrl());
if (location.isEmpty()) {
- emit errorMessage(i18n("The location is empty."));
+ emit errorMessage(i18nc("@info:status", "The location is empty."));
} else {
- emit errorMessage(i18n("The location '%1' is invalid.", location));
+ emit errorMessage(i18nc("@info:status", "The location '%1' is invalid.", location));
}
return;
}
const KFileItem* item = fileItem(index);
if (item != 0) {
- emit requestItemInfo(item->url());
+ emit requestItemInfo(*item);
}
}
void DolphinView::clearHoverInformation()
{
- emit requestItemInfo(KUrl());
+ emit requestItemInfo(KFileItem());
}