From ea7d4f059d5cb81b51053e7fec6492a727a968c2 Mon Sep 17 00:00:00 2001 From: Nate Graham Date: Wed, 28 Jul 2021 12:54:10 -0600 Subject: [PATCH] Revert "Don't session-restore invalid paths" This reverts commit c733b3aa9787a618a0ce5bb03b3fc731f5663b21. There are people who prefer the old behavior of session-restoring all paths including the ones which are currently inaccessible. The idea is that Dolphin is like a web browser; if a website is not currently available, the browser tells you that instead of silently discarding the URL and showing you the homepage. Doing this can be considered a form of data loss. In addition, the reason for the change was to prevent Dolphin from showing invalid paths on launch for unmounted removable disks, but that specific case was fixed separately by switching to ~ for any tabs/views that were showing locations on a just-unmounted removable disk. So you will never run into the problem if yo unmount a disk in Dolphin and then close it. Accordingly, let's revert the change because it causes more problems than it resolves. BUG: 439864 CCBUG: 427619 FIXED-IN: 21.08 --- src/dolphinmainwindow.cpp | 14 -------------- src/dolphinmainwindow.h | 6 ------ src/main.cpp | 4 ---- 3 files changed, 24 deletions(-) diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index fe39d4d2fb..52b3e8d6ab 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -239,20 +239,6 @@ QVector DolphinMainWindow::viewContainers() const return viewContainers; } -void DolphinMainWindow::setViewsWithInvalidPathsToHome() -{ - const QVector theViewContainers = viewContainers(); - for (DolphinViewContainer *viewContainer : theViewContainers) { - - // Only consider local dirs, not remote locations and abstract protocols - if (viewContainer->url().isLocalFile()) { - if (!QFileInfo::exists(viewContainer->url().toLocalFile())) { - viewContainer->setUrl(QUrl::fromLocalFile(QDir::homePath())); - } - } - } -} - void DolphinMainWindow::openDirectories(const QList& dirs, bool splitView) { m_tabWidget->openDirectories(dirs, splitView); diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h index 594c75691f..3a29d1c0a4 100644 --- a/src/dolphinmainwindow.h +++ b/src/dolphinmainwindow.h @@ -105,12 +105,6 @@ public: */ void setViewsToHomeIfMountPathOpen(const QString& mountPath); - /** - * Sets any of the window's view containers which are currently displaying - * invalid locations to the home path - */ - void setViewsWithInvalidPathsToHome(); - bool isFoldersPanelEnabled() const; bool isInformationPanelEnabled() const; diff --git a/src/main.cpp b/src/main.cpp index fba45f43c4..76b482688a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -204,10 +204,6 @@ int main(int argc, char **argv) if (startedWithURLs) { mainWindow->openDirectories(urls, splitView); } - - // Now handle invalid locations in the set of active views to - // avoid issues like https://bugs.kde.org/show_bug.cgi?id=427619 - mainWindow->setViewsWithInvalidPathsToHome(); } else { qCWarning(DolphinDebug) << "Unknown class " << className << " in session saved data!"; }