This commit is contained in:
Martin Rotter 2022-06-02 09:10:26 +02:00
parent 8dc43f9f90
commit 68c03688bf
4 changed files with 29 additions and 18 deletions

View File

@ -62,7 +62,7 @@ set(APP_AUTHOR "Martin Rotter")
set(APP_COPYRIGHT "\\251 2011-2022 ${APP_AUTHOR}")
set(APP_REVERSE_NAME "com.github.rssguard")
set(APP_DONATE_URL "https://github.com/sponsors/martinrotter")
set(APP_VERSION "4.2.2")
set(APP_VERSION "4.2.3")
set(APP_URL "https://github.com/martinrotter/rssguard")
set(APP_URL_DOCUMENTATION "https://github.com/martinrotter/rssguard/blob/master/resources/docs/Documentation.md")

View File

@ -26,7 +26,7 @@
<url type="donation">https://github.com/sponsors/martinrotter</url>
<content_rating type="oars-1.1" />
<releases>
<release version="4.2.2" date="2022-05-31"/>
<release version="4.2.3" date="2022-06-02"/>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute>

View File

@ -1,3 +1,16 @@
4.2.3
-----
Added:
* Autostart feature is now overally better and works with Flatpak build too. (#718)
* Added a switch to automatically reject all incoming HTTP cookies application-wide. (#716)
* Gmail: Display proper "To" e-mail header when displaying e-mails.
Fixed:
* Feedly: Correct article URLs are now fetched if possible. (#732)
* Mac OS X: Fixed launching with error "invalid application". (#721)
* External resources for non-web-engine article viewer are now resolved more correctly.
4.2.2
-----

View File

@ -30,40 +30,39 @@ QString jsonProcessXmlElement(const QDomElement& elem) {
QStringList attrs;
for (int i = 0; i < elem.attributes().size(); i++) {
attrs << QSL("\"%1\": \"%2\"").arg(jsonEscapeString(elem.attributes().item(i).toAttr().name()),
jsonEscapeString(elem.attributes().item(i).toAttr().value()));
attrs << QSL("\"%1\": \"%2\"")
.arg(jsonEscapeString(elem.attributes().item(i).toAttr().name()),
jsonEscapeString(elem.attributes().item(i).toAttr().value()));
}
QStringList elems;
QString elem_text;
for (int i = 0; i < elem.childNodes().size(); i++) {
if (elem.childNodes().at(i).isText()) {
elem_text = jsonEscapeString(elem.childNodes().at(i).nodeValue());
QDomNode el = elem.childNodes().at(i);
if (el.isText()) {
elem_text = jsonEscapeString(el.nodeValue());
}
if (!elem.childNodes().at(i).isElement()) {
if (!el.isElement()) {
continue;
}
elems << QSL("\"%1\": %2").arg(elem.childNodes().at(i).toElement().tagName(),
jsonProcessXmlElement(elem.childNodes().at(i).toElement()));
elems << QSL("\"%1\": %2").arg(el.toElement().tagName(), jsonProcessXmlElement(el.toElement()));
}
QString str;
if (!elems.isEmpty() && !attrs.isEmpty()) {
str = QSL("{%1, %2, %3}").arg(attrs.join(QSL(",\n")),
elems.join(QSL(",\n")),
QSL("\"__text\": \"%1\"").arg(elem_text));
str =
QSL("{%1, %2, %3}").arg(attrs.join(QSL(",\n")), elems.join(QSL(",\n")), QSL("\"__text\": \"%1\"").arg(elem_text));
}
else if (!elems.isEmpty()) {
str = QSL("{%1, %2}").arg(elems.join(QSL(",\n")),
QSL("\"__text\": \"%1\"").arg(elem_text));
str = QSL("{%1, %2}").arg(elems.join(QSL(",\n")), QSL("\"__text\": \"%1\"").arg(elem_text));
}
else if (!attrs.isEmpty()) {
str = QSL("{%1, %2}").arg(attrs.join(QSL(",\n")),
QSL("\"__text\": \"%1\"").arg(elem_text));
str = QSL("{%1, %2}").arg(attrs.join(QSL(",\n")), QSL("\"__text\": \"%1\"").arg(elem_text));
}
else {
str = QSL("{%1}").arg(QSL("\"__text\": \"%1\"").arg(elem_text));
@ -79,8 +78,7 @@ QString FilterUtils::fromXmlToJson(const QString& xml) const {
QString json = QSL("%1").arg(jsonProcessXmlElement(xml_doc.documentElement()));
return QSL("{\"%1\": %2}").arg(xml_doc.documentElement().tagName(),
json);
return QSL("{\"%1\": %2}").arg(xml_doc.documentElement().tagName(), json);
}
QDateTime FilterUtils::parseDateTime(const QString& dat) const {