diff --git a/src/librssguard/network-web/webfactory.cpp b/src/librssguard/network-web/webfactory.cpp index a46f80bbb..de6f6dd0e 100644 --- a/src/librssguard/network-web/webfactory.cpp +++ b/src/librssguard/network-web/webfactory.cpp @@ -15,6 +15,7 @@ #include "network-web/networkurlinterceptor.h" #include "network-web/urlinterceptor.h" +#include #include #include #include @@ -64,10 +65,18 @@ bool WebFactory::sendMessageViaEmail(const Message& message) { } bool WebFactory::openUrlInExternalBrowser(const QString& url) const { + QString new_url = QUrl::toPercentEncoding(url); + + qDebugNN << LOGSEC_NETWORK + << "We are trying to open URL:" + << QUOTE_W_SPACE(url) + << "in external browser. Encoded URL is" + << QUOTE_W_SPACE_DOT(new_url); + if (qApp->settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserEnabled)).toBool()) { const QString browser = qApp->settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserExecutable)).toString(); const QString arguments = qApp->settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserArguments)).toString(); - auto nice_args = arguments.arg(url); + auto nice_args = arguments.arg(new_url); qDebugNN << LOGSEC_NETWORK << "Arguments for external browser:" << QUOTE_W_SPACE_DOT(nice_args);