#include <kprotocolmanager.h>
#include <QtGui/QApplication>
-#include <QtGui/QClipboard>
#include <QtGui/QKeyEvent>
#include <QtGui/QItemSelection>
#include <QtGui/QBoxLayout>
#include <QtCore/QTimer>
#include <QtGui/QScrollBar>
+#include <kdesktopfile.h>
#include <kfileitemdelegate.h>
#include <kfileplacesmodel.h>
#include <kglobalsettings.h>
#include <kurlnavigator.h>
#include <krun.h>
+#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"
#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),
void DolphinViewContainer::initializeProgress()
{
if (url().protocol() == "nepomuksearch") {
- // The Nepomuk IO-slave does not provide any progress information. Give
+ // The Nepomuk IO-slave does not provide progress information right away. Give
// an immediate hint to the user that a searching is done:
m_statusBar->setProgressText(i18nc("@info", "Searching..."));
m_statusBar->setProgress(-1);
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);
}
}
}
+ 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();
}