#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 <konqmimedata.h>
#include <konq_operations.h>
#include <KShell>
#include <KUrl>
#include <KRun>
#ifdef KActivities_FOUND
-#include <KActivities/ResourceInstance>
#endif
#include "dolphin_generalsettings.h"
m_urlNavigator, &KUrlNavigator::setUrl);
connect(m_view, &DolphinView::urlChanged,
m_messageWidget, &KMessageWidget::hide);
+ connect(m_view, &DolphinView::directoryLoadingCompleted,
+ m_messageWidget, &KMessageWidget::hide);
connect(m_view, &DolphinView::writeStateChanged,
this, &DolphinViewContainer::writeStateChanged);
connect(m_view, &DolphinView::requestItemInfo,
const int unwrappedWidth = m_messageWidget->sizeHint().width();
m_messageWidget->setWordWrap(unwrappedWidth > size().width());
+ if (m_messageWidget->isVisible()) {
+ m_messageWidget->hide();
+ }
m_messageWidget->animatedShow();
}
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)