From 0ee9ee0ea801c3d427b263153cfb20db041ec727 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 7 Oct 2008 20:29:18 +0000 Subject: 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 --- src/dolphinmainwindow.cpp | 7 +++++++ src/dolphinviewcontainer.cpp | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'src') 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) -- cgit v1.3