X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/17ff26c355adf945e143418c8bd756cf168d963b..d92bc6337c31e27e8a0fa340398fadf8d0ee0317:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 89cf6cdbd..28ffc23e4 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -21,13 +21,13 @@ #include #include -#include #include #include #include #include #include +#include #include #include #include @@ -47,9 +47,10 @@ #include #include +#include "dolphin_generalsettings.h" #include "dolphinmodel.h" #include "dolphincolumnview.h" -#include "dolphincontroller.h" +#include "dolphinviewcontroller.h" #include "dolphinmainwindow.h" #include "dolphindirlister.h" #include "dolphinsortfilterproxymodel.h" @@ -57,10 +58,10 @@ #include "dolphiniconsview.h" #include "draganddrophelper.h" #include "filterbar.h" +#include "settings/dolphinsettings.h" #include "statusbar/dolphinstatusbar.h" +#include "viewmodecontroller.h" #include "viewproperties.h" -#include "settings/dolphinsettings.h" -#include "dolphin_generalsettings.h" DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) : QWidget(parent), @@ -432,7 +433,13 @@ void DolphinViewContainer::redirect(const KUrl& oldUrl, const KUrl& newUrl) Q_UNUSED(oldUrl); const bool block = m_urlNavigator->signalsBlocked(); m_urlNavigator->blockSignals(true); + + // Assure that the location state is reset for redirection URLs. This + // allows to skip redirection URLs when going back or forward in the + // URL history. + m_urlNavigator->saveLocationState(QByteArray()); m_urlNavigator->setLocationUrl(newUrl); + m_urlNavigator->blockSignals(block); } @@ -483,6 +490,16 @@ void DolphinViewContainer::slotItemTriggered(const KFileItem& item) } } + if (item.mimetype() == "application/x-desktop") { + // redirect to the url in Type=Link desktop files + KDesktopFile desktopFile(url.toLocalFile()); + if (desktopFile.hasLinkType()) { + url = desktopFile.readUrl(); + m_view->setUrl(url); + return; + } + } + item.run(); }