X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/dc6bd8046f35993cae0f3659fd2420e18d0fe472..148282e2d856b47ceb191eeef4c834118c8cdffd:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 3c1445fa5..6e5385f5e 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -42,11 +42,11 @@ #include #include #include +#include #include "dolphinmodel.h" #include "dolphincolumnview.h" #include "dolphincontroller.h" -#include "dolphindropcontroller.h" #include "dolphinstatusbar.h" #include "dolphinmainwindow.h" #include "dolphindirlister.h" @@ -54,6 +54,7 @@ #include "dolphindetailsview.h" #include "dolphiniconsview.h" #include "dolphincontextmenu.h" +#include "draganddrophelper.h" #include "filterbar.h" #include "kurlnavigator.h" #include "viewproperties.h" @@ -354,10 +355,24 @@ void DolphinViewContainer::restoreView(const KUrl& url) { if (KProtocolManager::supportsListing(url)) { m_view->updateView(url, m_urlNavigator->savedRootUrl()); + } else if (KProtocolManager::isSourceProtocol(url)) { + QString app = "konqueror"; + if (url.protocol().startsWith(QLatin1String("http"))) { + showErrorMessage(i18nc("@info:status", + "Dolphin does not support web pages, the web browser has been launched")); + const KConfigGroup config(KSharedConfig::openConfig("kdeglobals"), "General"); + const QString browser = config.readEntry("BrowserApplication"); + if (!browser.isEmpty()) { + app = browser; + } + } else { + showErrorMessage(i18nc("@info:status", + "Protocol not supported by Dolphin, Konqueror has been launched")); + } + const QString command = app + ' ' + url.pathOrUrl(); + KRun::runCommand(command, app, app, this); } else { - // The URL navigator only checks for validity, not - // if the URL can be listed. - showErrorMessage(i18nc("@info:status", "Protocol not supported")); + showErrorMessage(i18nc("@info:status", "Invalid protocol")); } } @@ -369,7 +384,7 @@ void DolphinViewContainer::saveRootUrl(const KUrl& url) void DolphinViewContainer::dropUrls(const KUrl& destination, QDropEvent* event) { - DolphinDropController::dropUrls(KFileItem(), destination, event, this); + DragAndDropHelper::instance().dropUrls(KFileItem(), destination, event, this); } void DolphinViewContainer::redirect(const KUrl& oldUrl, const KUrl& newUrl)