From 3b5e7eb0eac107ad9b1795e7b355443cf9532d18 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Sat, 4 Mar 2017 15:48:37 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20compile=20error:=20=E2=80=98escape?= =?UTF-8?q?=E2=80=99=20is=20not=20a=20member=20of=20=E2=80=98Qt=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/utils/string.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/base/utils/string.cpp b/src/base/utils/string.cpp index 7d76d9aaf..6c713b10d 100644 --- a/src/base/utils/string.cpp +++ b/src/base/utils/string.cpp @@ -34,6 +34,7 @@ #include #include #include + #ifdef QBT_USES_QT5 #include #endif @@ -217,6 +218,23 @@ QString Utils::String::toHtmlEscaped(const QString &str) #ifdef QBT_USES_QT5 return str.toHtmlEscaped(); #else - return Qt::escape(str); + // code from Qt + QString rich; + const int len = str.length(); + rich.reserve(int(len * 1.1)); + for (int i = 0; i < len; ++i) { + if (str.at(i) == QLatin1Char('<')) + rich += QLatin1String("<"); + else if (str.at(i) == QLatin1Char('>')) + rich += QLatin1String(">"); + else if (str.at(i) == QLatin1Char('&')) + rich += QLatin1String("&"); + else if (str.at(i) == QLatin1Char('"')) + rich += QLatin1String("""); + else + rich += str.at(i); + } + rich.squeeze(); + return rich; #endif }