diff --git a/src/librssguard/services/abstract/feed.cpp b/src/librssguard/services/abstract/feed.cpp index fde3c0e48..8c4b393ce 100755 --- a/src/librssguard/services/abstract/feed.cpp +++ b/src/librssguard/services/abstract/feed.cpp @@ -293,8 +293,11 @@ QString Feed::getStatusDescription() const { case Status::NetworkError: return tr("network error"); + case Status::ParsingError: + return tr("parsing error"); + default: - return tr("unspecified error"); + return tr("error"); } } @@ -319,9 +322,15 @@ void Feed::removeMessageFilter(MessageFilter* filter) { } QString Feed::additionalTooltip() const { + QString stat = getStatusDescription(); + + if (!m_statusString.simplified().isEmpty()) { + stat += QSL(" (%1)").arg(m_statusString); + } + return tr("Auto-update status: %1\n" "Active message filters: %2\n" "Status: %3").arg(getAutoUpdateStatusDescription(), QString::number(m_messageFilters.size()), - getStatusDescription()); + stat); } diff --git a/src/librssguard/services/standard/feedparser.cpp b/src/librssguard/services/standard/feedparser.cpp index 47b733570..47fc7a7f7 100755 --- a/src/librssguard/services/standard/feedparser.cpp +++ b/src/librssguard/services/standard/feedparser.cpp @@ -9,7 +9,11 @@ #include FeedParser::FeedParser(QString data) : m_xmlData(std::move(data)), m_mrssNamespace(QSL("http://search.yahoo.com/mrss/")) { - m_xml.setContent(m_xmlData, true); + QString error; + + if (!m_xml.setContent(m_xmlData, true, &error)) { + throw ApplicationException(QObject::tr("XML problem: %1").arg(error)); + } } FeedParser::~FeedParser() = default; diff --git a/src/librssguard/services/tt-rss/ttrssserviceroot.cpp b/src/librssguard/services/tt-rss/ttrssserviceroot.cpp index f58205912..5d1967a65 100644 --- a/src/librssguard/services/tt-rss/ttrssserviceroot.cpp +++ b/src/librssguard/services/tt-rss/ttrssserviceroot.cpp @@ -229,7 +229,7 @@ QList TtRssServiceRoot::obtainNewMessages(const QList& feeds) { networkProxy()); if (network()->lastError() != QNetworkReply::NetworkError::NoError) { - throw FeedFetchException(Feed::Status::NetworkError); + throw FeedFetchException(Feed::Status::NetworkError, headlines.error()); } else { QList new_messages = headlines.messages(this);