┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinviewcontainer.cpp
diff options
context:
space:
mode:
authorMéven Car <[email protected]>2020-01-17 18:10:40 +0100
committerMéven Car <[email protected]>2020-01-20 16:50:14 +0100
commit17e1a48c68000f92033196b6d19d876143a13608 (patch)
tree9dcc2dddc8d432fd13f1cacd1af0a3348f77c288 /src/dolphinviewcontainer.cpp
parent5778099ece7a4e6c37c3e0c6950aa0bdf259bcb3 (diff)
Use QDesktopServices to open urls not supported by dolphin
Summary: This improves portability. QDesktopServices uses standard mimetype base resolution to find the app to use. BUG: 372642 FIXED-IN: 20.04 Test Plan: * Open http://google.com, opened default web browser * Open mms:// (on my test system opened vlc) Reviewers: #dolphin, elvisangelaccio, ngraham Reviewed By: #dolphin, elvisangelaccio, ngraham Subscribers: nicolasfella, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D26732
Diffstat (limited to 'src/dolphinviewcontainer.cpp')
-rw-r--r--src/dolphinviewcontainer.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp
index 9ed7654fa..bd3c8ed20 100644
--- a/src/dolphinviewcontainer.cpp
+++ b/src/dolphinviewcontainer.cpp
@@ -50,6 +50,7 @@
#include <QTimer>
#include <QUrl>
#include <QVBoxLayout>
+#include <QDesktopServices>
DolphinViewContainer::DolphinViewContainer(const QUrl& url, QWidget* parent) :
QWidget(parent),
@@ -691,30 +692,18 @@ void DolphinViewContainer::slotUrlNavigatorLocationChanged(const QUrl& url)
QTimer::singleShot(0, this, &DolphinViewContainer::requestFocus);
}
} else if (KProtocolManager::isSourceProtocol(url)) {
- QString app = QStringLiteral("konqueror");
if (url.scheme().startsWith(QLatin1String("http"))) {
showMessage(i18nc("@info:status", // krazy:exclude=qmethods
"Dolphin does not support web pages, the web browser has been launched"),
Information);
-
- const KConfigGroup config(KSharedConfig::openConfig(QStringLiteral("kdeglobals")), "General");
- const QString browser = config.readEntry("BrowserApplication");
- if (!browser.isEmpty()) {
- app = browser;
- if (app.startsWith('!')) {
- // a literal command has been configured, remove the '!' prefix
- app.remove(0, 1);
- }
- }
} else {
showMessage(i18nc("@info:status",
- "Protocol not supported by Dolphin, Konqueror has been launched"),
+ "Protocol not supported by Dolphin, default application has been launched"),
Information);
}
- const QString secureUrl = KShell::quoteArg(url.toDisplayString(QUrl::PreferLocalFile));
- const QString command = app + ' ' + secureUrl;
- KRun::runCommand(command, app, app, this);
+ QDesktopServices::openUrl(url);
+ redirect(QUrl(), m_urlNavigator->locationUrl(1));
} else {
showMessage(i18nc("@info:status", "Invalid protocol"), Error);
}