X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/39cfd051ef25f3a90fdfa411325829ca119a421c..3653c8ad6bfb21a4b098f4e89d5ff34ed6df2901:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index b18e43631..14bc4b7bc 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -20,24 +20,16 @@ #include "dolphinviewcontainer.h" #include -#include -#include -#include -#include #include -#include #include +#include -#include -#include #include #include -#include -#include +#include #include #include #include -#include #include #include #include @@ -46,7 +38,6 @@ #include #ifdef KActivities_FOUND -#include #endif #include "dolphin_generalsettings.h" @@ -488,7 +479,16 @@ void DolphinViewContainer::slotDirectoryLoadingCanceled() void DolphinViewContainer::slotUrlIsFileError(const KUrl& url) { const KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url); - slotItemActivated(item); + + // Find out if the file can be opened in the view (for example, this is the + // case if the file is an archive). The mime type must be known for that. + item.determineMimeType(); + const KUrl& folderUrl = DolphinView::openItemAsFolderUrl(item, true); + if (!folderUrl.isEmpty()) { + m_view->setUrl(folderUrl); + } else { + slotItemActivated(item); + } } void DolphinViewContainer::slotItemActivated(const KFileItem& item)