summary refs log tree commit diff
path: root/src/Utils.cpp
diff options
context:
space:
mode:
authorredsky17 <joedonofry@gmail.com>2019-05-27 16:40:39 -0400
committerredsky17 <joedonofry@gmail.com>2019-05-27 16:40:39 -0400
commitbca4d7eef6372827a4732d3742e42e50bf7a4b74 (patch)
tree391de0eb9c3c1461e5e6347a4b12f86dd126fa7c /src/Utils.cpp
parentFix linting issues (diff)
parentUpdate to v0.6.4 (diff)
downloadnheko-bca4d7eef6372827a4732d3742e42e50bf7a4b74.tar.xz
Merge in master
Diffstat (limited to 'src/Utils.cpp')
-rw-r--r--src/Utils.cpp60
1 files changed, 2 insertions, 58 deletions
diff --git a/src/Utils.cpp b/src/Utils.cpp

index 0d3e9384..f8fdfaf9 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp
@@ -291,65 +291,9 @@ utils::linkifyMessage(const QString &body) { // Convert to valid XML. auto doc = QString("<html>%1</html>").arg(body); + doc.replace(conf::strings::url_regex, conf::strings::url_html); - doc.replace("<mx-reply>", ""); - doc.replace("</mx-reply>", ""); - doc.replace("<br>", "<br></br>"); - - QXmlStreamReader xml{doc}; - - QString textString; - while (!xml.atEnd() && !xml.hasError()) { - auto t = xml.readNext(); - - switch (t) { - case QXmlStreamReader::Characters: { - auto text = xml.text().toString(); - text.replace(conf::strings::url_regex, conf::strings::url_html); - - textString += text; - break; - } - case QXmlStreamReader::StartDocument: - case QXmlStreamReader::EndDocument: - break; - case QXmlStreamReader::StartElement: { - if (xml.name() == "html") - break; - - textString += QString("<%1").arg(xml.name().toString()); - - const auto attrs = xml.attributes(); - for (const auto &e : attrs) - textString += QString(" %1=\"%2\"") - .arg(e.name().toString()) - .arg(e.value().toString()); - - textString += ">"; - - break; - } - case QXmlStreamReader::EndElement: { - if (xml.name() == "html") - break; - - textString += QString("</%1>").arg(xml.name().toString()); - break; - } - default: { - break; - } - } - } - - if (xml.hasError()) { - qWarning() << "error while parsing xml" << xml.errorString() << doc; - doc.replace("<html>", ""); - doc.replace("</html>", ""); - return doc; - } - - return textString; + return doc; } QString