m_dirLister = new DolphinDirLister();
m_dirLister->setAutoUpdate(true);
- m_dirLister->setMainWindow(this);
+ m_dirLister->setMainWindow(window());
m_dirLister->setDelayedMimeTypes(true);
m_dolphinModel = new DolphinModel(this);
url,
m_dirLister,
m_dolphinModel,
- m_proxyModel,
- mainWindow->actionCollection());
+ m_proxyModel);
connect(m_view, SIGNAL(urlChanged(const KUrl&)),
m_urlNavigator, SLOT(setUrl(const KUrl&)));
connect(m_view, SIGNAL(requestContextMenu(KFileItem, const KUrl&)),
void DolphinViewContainer::slotItemTriggered(const KFileItem& item)
{
- // Prefer the local path over the URL.
- bool isLocal;
- KUrl url = item.mostLocalUrl(isLocal);
+ KUrl url = item.targetUrl();
if (item.isDir()) {
m_view->setUrl(url);
- } else if (item.isFile() && url.isLocalFile()) {
- // allow to browse through ZIP and tar files
- // TODO: make this configurable for Dolphin in KDE 4.1
+ return;
+ }
+ const GeneralSettings* settings = DolphinSettings::instance().generalSettings();
+ const bool browseThroughArchives = settings->browseThroughArchives() &&
+ item.isFile() && url.isLocalFile();
+ if (browseThroughArchives) {
KMimeType::Ptr mime = item.mimeTypePtr();
// Don't use mime->is("application/zip"), as this would
if (mime->name() == "application/zip") {
url.setProtocol("zip");
m_view->setUrl(url);
- } else if (mime->is("application/x-tar") ||
- mime->is("application/x-tarz") ||
- mime->is("application/x-bzip-compressed-tar") ||
- mime->is("application/x-compressed-tar") ||
- mime->is("application/x-tzo")) {
+ return;
+ }
+
+ if (mime->is("application/x-tar") ||
+ mime->is("application/x-tarz") ||
+ mime->is("application/x-bzip-compressed-tar") ||
+ mime->is("application/x-compressed-tar") ||
+ mime->is("application/x-tzo")) {
url.setProtocol("tar");
m_view->setUrl(url);
- } else {
- item.run();
+ return;
}
- } else {
- item.run();
}
+
+ item.run();
}
#include "dolphinviewcontainer.moc"