#include "dolphinviewcontainer.h"
#include <KProtocolManager>
-#include <QApplication>
-#include <QKeyEvent>
-#include <QItemSelection>
-#include <QBoxLayout>
#include <QTimer>
-#include <QScrollBar>
#include <QMimeData>
+#include <QVBoxLayout>
-#include <KDesktopFile>
-#include <KFileItemDelegate>
#include <KFileItemActions>
#include <KFilePlacesModel>
-#include <KLocale>
-#include <KIconEffect>
+#include <KLocalizedString>
#include <KIO/NetAccess>
#include <KIO/PreviewJob>
#include <KMessageWidget>
-#include <KNewFileMenu>
#include <konq_operations.h>
#include <KShell>
#include <KUrl>
#include <KRun>
#ifdef KActivities_FOUND
-#include <KActivities/ResourceInstance>
#endif
#include "dolphin_generalsettings.h"
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)