From: Peter Penz Date: Tue, 7 Oct 2008 20:29:18 +0000 (+0000) Subject: If an URL cannot be listed, just let the view and the panels show the last listable... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/0ee9ee0ea801c3d427b263153cfb20db041ec727?ds=sidebyside If an URL cannot be listed, just let the view and the panels show the last listable URL. This prevents having an empty view and empty panels when typing a wrong URL. BUG: 170695 svn path=/trunk/KDE/kdebase/apps/; revision=868984 --- diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 718615222..48278312f 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -200,6 +200,13 @@ void DolphinMainWindow::pasteIntoFolder() void DolphinMainWindow::changeUrl(const KUrl& url) { + if (url.protocol().isEmpty()) { + // The URL navigator only checks for validity, not + // if the URL can be listed. An error message is + // shown due to DolphinViewContainer::restoreView(). + return; + } + DolphinViewContainer* view = activeViewContainer(); if (view != 0) { view->setUrl(url); diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 99ff253c2..89ed54aca 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -350,7 +350,13 @@ void DolphinViewContainer::activate() void DolphinViewContainer::restoreView(const KUrl& url) { - m_view->updateView(url, m_urlNavigator->savedRootUrl()); + if (url.protocol().isEmpty()) { + // The URL navigator only checks for validity, not + // if the URL can be listed. + showErrorMessage(i18nc("@info:status", "Protocol not supported")); + } else { + m_view->updateView(url, m_urlNavigator->savedRootUrl()); + } } void DolphinViewContainer::saveRootUrl(const KUrl& url)