From 32bf4827c45faf432593eb03432118e5436dded5 Mon Sep 17 00:00:00 2001 From: Emmanuel Pescosta Date: Fri, 26 Jul 2013 15:05:40 +0200 Subject: [PATCH 1/4] Don't open .desktop files with http:/https: urls in Dolphin, open these urls in the default browser instead. BUG: 283475 BUG: 318217 FIXED-IN: 4.11.0 REVIEW: 111674 --- src/views/dolphinview.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index d54a101d84..bd311e4d37 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -1254,10 +1254,13 @@ KUrl DolphinView::openItemAsFolderUrl(const KFileItem& item, const bool browseTh } if (mimetype == QLatin1String("application/x-desktop")) { - // Redirect to the URL in Type=Link desktop files + // Redirect to the URL in Type=Link desktop files, unless it is a http(s) URL. KDesktopFile desktopFile(url.toLocalFile()); if (desktopFile.hasLinkType()) { - return desktopFile.readUrl(); + const QString linkUrl = desktopFile.readUrl(); + if (!linkUrl.startsWith(QLatin1String("http"))) { + return linkUrl; + } } } } From 15107c780ccc84d4c7bb33e674b519d692348746 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Sun, 28 Jul 2013 23:36:43 +0200 Subject: [PATCH 2/4] Do not convert a KUrl to a QString and back again This small change saves a lot of CPU cycles when the items are resorted. REVIEW: 111700 --- src/kitemviews/kfileitemmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index d174cf67fd..1b4911dece 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -702,7 +702,7 @@ void KFileItemModel::resortAllItems() QList movedToIndexes; movedToIndexes.reserve(itemCount); for (int i = 0; i < itemCount; i++) { - const int newIndex = m_items.value(oldUrls.at(i).url()); + const int newIndex = m_items.value(oldUrls.at(i)); movedToIndexes.append(newIndex); } From 29013ed214e3682ce441765b6e295c16724ecf66 Mon Sep 17 00:00:00 2001 From: Fabio D'Urso Date: Mon, 1 Jul 2013 02:02:21 +0200 Subject: [PATCH 3/4] Don't let HTML-like filenames be interpreted as HTML strings So that filenames that look like HTML don't get fancy-formatted when we show info about them (i.e. on hover) This patch fixes the same issue in two places: - dolphin, by setting Qt::PlainText on the status bar's label - konqueror, by escaping setStatusBarText strings emitted by DolphinPart BUG: 321778 FIXED-IN: 4.11.0 REVIEW: 111746 --- src/dolphinpart.cpp | 4 +++- src/statusbar/dolphinstatusbar.cpp | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index e8138eb8e9..fc7b74dc0c 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -58,6 +58,7 @@ #include #include #include +#include K_PLUGIN_FACTORY(DolphinPartFactory, registerPlugin();) K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart", "dolphin")) @@ -355,7 +356,8 @@ void DolphinPart::slotRequestItemInfo(const KFileItem& item) if (item.isNull()) { updateStatusBar(); } else { - ReadOnlyPart::setStatusBarText(item.getStatusBarInfo()); + const QString escapedText = Qt::escape(item.getStatusBarInfo()); + ReadOnlyPart::setStatusBarText(QString("%1").arg(escapedText)); } } diff --git a/src/statusbar/dolphinstatusbar.cpp b/src/statusbar/dolphinstatusbar.cpp index 6f734ed4d5..1489191720 100644 --- a/src/statusbar/dolphinstatusbar.cpp +++ b/src/statusbar/dolphinstatusbar.cpp @@ -62,6 +62,7 @@ DolphinStatusBar::DolphinStatusBar(QWidget* parent) : // Initialize text label m_label = new QLabel(this); m_label->setWordWrap(true); + m_label->setTextFormat(Qt::PlainText); m_label->installEventFilter(this); // Initialize zoom widget From 09bf5b66dc5136885c36e6b702047d56b627770d Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Mon, 29 Jul 2013 23:14:39 +0200 Subject: [PATCH 4/4] When pasting a folder and expanding it, do not select its children Thanks to Emmanuel for pointing out a problem with my first patch. BUG: 322965 FIXED-IN: 4.11.0 REVIEW: 111722 --- src/views/dolphinview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index bd311e4d37..20bc9f5225 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -1099,7 +1099,7 @@ void DolphinView::slotAboutToCreate(const KUrl::List& urls) markUrlAsCurrent(urls.first()); m_markFirstNewlySelectedItemAsCurrent = false; } - m_selectedUrls << urls; + m_selectedUrls << KDirModel::simplifiedUrlList(urls); } }