From c7f1b624c3bd64ce651eb72236ab9e142a7534a7 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 4 Jul 2016 16:24:35 +0200 Subject: Parse XML reply for help text (just like news) --- src/dialog.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/dialog.cpp') diff --git a/src/dialog.cpp b/src/dialog.cpp index cd2b9b6..aefb6f9 100644 --- a/src/dialog.cpp +++ b/src/dialog.cpp @@ -571,13 +571,19 @@ void Dialog::addNewsAfterDownload(QNetworkReply* reply) { return; } QDomElement newsNode = doc.firstChildElement("news"); + QDomElement timeNode = newsNode.firstChildElement("date"); + QDomElement infoNode = newsNode.firstChildElement("info"); QDateTime timestamp; - timestamp.setTime_t(newsNode.firstChildElement("date").text().toInt()); + timestamp.setTime_t(timeNode.text().toInt()); - // format and print news - ui->newsTextBrowser->setText(QString("

" + newsNode.firstChildElement("headline").text() + "

" - + timestamp.toString(Qt::SystemLocaleShortDate) + "

" - + newsNode.firstChildElement("info").text() + "

")); + if (timeNode.isNull() || infoNode.isNull()) { + ui->newsTextBrowser->setText(QCoreApplication::instance()->translate("Dialog", "Could not get news. (//news/date or //news/info missing)")); + } else { + // format and print news + ui->newsTextBrowser->setText(QString("

" + newsNode.firstChildElement("headline").text() + "

" + + timestamp.toString(Qt::SystemLocaleShortDate) + "

" + + infoNode.text() + "

")); + } if (ChooserSettings::getSetting("last-news").toUInt() < timestamp.toTime_t()) { // show news if not seen before @@ -640,7 +646,12 @@ void Dialog::addHelpAfterDownload(QNetworkReply* reply) { return; } - ui->helpTextBrowser->setText(QString(data)); + QDomElement newsNode = doc.firstChildElement("news").firstChildElement("info"); + if (newsNode.isNull()) { + ui->helpTextBrowser->setText(QCoreApplication::instance()->translate("Dialog", "Could not get help (XML has no //news/info)")); + } else { + ui->helpTextBrowser->setText(newsNode.text()); + } // make backup QFile file(help_backup_filename); -- cgit v1.2.3-55-g7522