diff options
| author | Emmanuel Pescosta <[email protected]> | 2014-09-11 10:50:56 +0200 |
|---|---|---|
| committer | Emmanuel Pescosta <[email protected]> | 2014-09-11 10:50:56 +0200 |
| commit | 32b51b7b92e16cfaf1121cbe80ca267fc8bb0718 (patch) | |
| tree | ec6f9da3684589dbbfe0cebf33cefd613020b5f2 /src | |
| parent | 087f4cb8081ac16ae4de102d49963c72e9bb64d2 (diff) | |
| parent | 4a774cb250cc4133f6f6d3fe6156d481ff82c2e8 (diff) | |
Merge branch 'master' into frameworks
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphinviewcontainer.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index b18e43631..0f3aa9761 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -488,7 +488,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) |
