]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemmodel.cpp
Exit the deleted directory when it is removed
[dolphin.git] / src / kitemviews / kfileitemmodel.cpp
index 4af851733f5ada233cc148d07568519c4e7376ef..c08f8e964b3cd9e34532d6f92df1d2aeba9f2f8e 100644 (file)
@@ -238,7 +238,11 @@ bool KFileItemModel::sortHiddenLast() const
 
 void KFileItemModel::setShowHiddenFiles(bool show)
 {
+#if KIO_VERSION < QT_VERSION_CHECK(5, 100, 0)
     m_dirLister->setShowingDotFiles(show);
+#else
+    m_dirLister->setShowHiddenFiles(show);
+#endif
     m_dirLister->emitChanges();
     if (show) {
         dispatchPendingItemsToInsert();
@@ -247,7 +251,11 @@ void KFileItemModel::setShowHiddenFiles(bool show)
 
 bool KFileItemModel::showHiddenFiles() const
 {
+#if KIO_VERSION < QT_VERSION_CHECK(5, 100, 0)
     return m_dirLister->showingDotFiles();
+#else
+    return m_dirLister->showHiddenFiles();
+#endif
 }
 
 void KFileItemModel::setShowDirectoriesOnly(bool enabled)
@@ -1142,7 +1150,14 @@ void KFileItemModel::slotItemsDeleted(const KFileItemList& items)
     indexesToRemove.reserve(items.count());
     KFileItemList dirsChanged;
 
+    const auto currentDir = directory();
+
     for (const KFileItem& item : items) {
+        if (item.url() == currentDir) {
+            Q_EMIT currentDirectoryRemoved();
+            return;
+        }
+
         const int indexForItem = index(item);
         if (indexForItem >= 0) {
             indexesToRemove.append(indexForItem);