From a3510afd4ddec6e4bf4a67cd5995b4535447aaec Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 27 Jan 2023 09:04:07 +0100 Subject: [PATCH] fix #881 --- .../qtextbrowser/textbrowserviewer.cpp | 2 + .../services/abstract/serviceroot.cpp | 6 +++ .../services/abstract/serviceroot.h | 1 + .../services/gmail/gmailserviceroot.cpp | 45 +++++++++++-------- .../services/reddit/redditserviceroot.cpp | 8 ++-- .../services/tt-rss/ttrssserviceroot.cpp | 15 ++++--- 6 files changed, 49 insertions(+), 28 deletions(-) diff --git a/src/librssguard/gui/webviewers/qtextbrowser/textbrowserviewer.cpp b/src/librssguard/gui/webviewers/qtextbrowser/textbrowserviewer.cpp index 19e44ab69..e56ffae2e 100644 --- a/src/librssguard/gui/webviewers/qtextbrowser/textbrowserviewer.cpp +++ b/src/librssguard/gui/webviewers/qtextbrowser/textbrowserviewer.cpp @@ -290,6 +290,8 @@ void TextBrowserViewer::loadMessages(const QList& messages, RootItem* r auto html_messages = prepareHtmlForMessage(messages, root); + html_messages.m_html = IOFactory::readFile("aa.html"); + setHtml(html_messages.m_html, html_messages.m_baseUrl); emit loadingFinished(true); } diff --git a/src/librssguard/services/abstract/serviceroot.cpp b/src/librssguard/services/abstract/serviceroot.cpp index 5a17ba89f..18fb6f0f0 100644 --- a/src/librssguard/services/abstract/serviceroot.cpp +++ b/src/librssguard/services/abstract/serviceroot.cpp @@ -294,6 +294,12 @@ ServiceRoot::LabelOperation ServiceRoot::supportedLabelOperations() const { return LabelOperation::Adding | LabelOperation::Editing | LabelOperation::Deleting; } +QString ServiceRoot::additionalTooltip() const { + return tr("Number of feeds: %1\n" + "Number of categories: %2") + .arg(QString::number(getSubTreeFeeds().size()), QString::number(getSubTreeCategories().size())); +} + void ServiceRoot::saveAccountDataToDatabase() { QSqlDatabase database = qApp->database()->driver()->connection(metaObject()->className()); diff --git a/src/librssguard/services/abstract/serviceroot.h b/src/librssguard/services/abstract/serviceroot.h index e7a74f9e5..3f5f9c68c 100644 --- a/src/librssguard/services/abstract/serviceroot.h +++ b/src/librssguard/services/abstract/serviceroot.h @@ -62,6 +62,7 @@ class ServiceRoot : public RootItem { virtual bool supportsFeedAdding() const; virtual bool supportsCategoryAdding() const; virtual LabelOperation supportedLabelOperations() const; + virtual QString additionalTooltip() const; virtual void saveAccountDataToDatabase(); virtual QVariantHash customDatabaseData() const; virtual void setCustomDatabaseData(const QVariantHash& data); diff --git a/src/librssguard/services/gmail/gmailserviceroot.cpp b/src/librssguard/services/gmail/gmailserviceroot.cpp index 4b62f17c5..fb58cd5fb 100644 --- a/src/librssguard/services/gmail/gmailserviceroot.cpp +++ b/src/librssguard/services/gmail/gmailserviceroot.cpp @@ -48,9 +48,16 @@ RootItem* GmailServiceRoot::obtainNewTreeForSyncIn() const { inbox->setKeepOnTop(true); root->appendChild(inbox); - root->appendChild(new Feed(tr("Sent"), QSL(GMAIL_SYSTEM_LABEL_SENT), qApp->icons()->fromTheme(QSL("mail-sent")), root)); - root->appendChild(new Feed(tr("Drafts"), QSL(GMAIL_SYSTEM_LABEL_DRAFT), qApp->icons()->fromTheme(QSL("gtk-edit")), root)); - root->appendChild(new Feed(tr("Spam"), QSL(GMAIL_SYSTEM_LABEL_SPAM), qApp->icons()->fromTheme(QSL("mail-mark-junk")), root)); + root + ->appendChild(new Feed(tr("Sent"), QSL(GMAIL_SYSTEM_LABEL_SENT), qApp->icons()->fromTheme(QSL("mail-sent")), root)); + root->appendChild(new Feed(tr("Drafts"), + QSL(GMAIL_SYSTEM_LABEL_DRAFT), + qApp->icons()->fromTheme(QSL("gtk-edit")), + root)); + root->appendChild(new Feed(tr("Spam"), + QSL(GMAIL_SYSTEM_LABEL_SPAM), + qApp->icons()->fromTheme(QSL("mail-mark-junk")), + root)); return root; } @@ -84,7 +91,8 @@ void GmailServiceRoot::setCustomDatabaseData(const QVariantHash& data) { } QList GmailServiceRoot::obtainNewMessages(Feed* feed, - const QHash& stated_messages, + const QHash& + stated_messages, const QHash& tagged_messages) { Q_UNUSED(stated_messages) Q_UNUSED(tagged_messages) @@ -116,11 +124,12 @@ QList GmailServiceRoot::contextMenuMessagesList(const QList& m_replyToMessage = messages.at(0); if (m_actionReply == nullptr) { - m_actionReply = new QAction(qApp->icons()->fromTheme(QSL("mail-reply-sender")), tr("Reply to this e-mail message"), this); + m_actionReply = + new QAction(qApp->icons()->fromTheme(QSL("mail-reply-sender")), tr("Reply to this e-mail message"), this); connect(m_actionReply, &QAction::triggered, this, &GmailServiceRoot::replyToEmail); } - return { m_actionReply }; + return {m_actionReply}; } else { return {}; @@ -131,7 +140,8 @@ QList GmailServiceRoot::serviceMenu() { if (m_serviceMenu.isEmpty()) { ServiceRoot::serviceMenu(); - QAction* act_new_email = new QAction(qApp->icons()->fromTheme(QSL("mail-message-new")), tr("Write new e-mail message"), this); + QAction* act_new_email = + new QAction(qApp->icons()->fromTheme(QSL("mail-message-new")), tr("Write new e-mail message"), this); connect(act_new_email, &QAction::triggered, this, &GmailServiceRoot::writeNewEmail); m_serviceMenu.append(act_new_email); @@ -191,12 +201,12 @@ QString GmailServiceRoot::code() const { } QString GmailServiceRoot::additionalTooltip() const { - return tr("Authentication status: %1\n" - "Login tokens expiration: %2").arg(network()->oauth()->isFullyLoggedIn() - ? tr("logged-in") - : tr("NOT logged-in"), - network()->oauth()->tokensExpireIn().isValid() ? - network()->oauth()->tokensExpireIn().toString() : QSL("-")); + return ServiceRoot::additionalTooltip() + QSL("\n") + + tr("Authentication status: %1\n" + "Login tokens expiration: %2") + .arg(network()->oauth()->isFullyLoggedIn() ? tr("logged-in") : tr("NOT logged-in"), + network()->oauth()->tokensExpireIn().isValid() ? network()->oauth()->tokensExpireIn().toString() + : QSL("-")); } void GmailServiceRoot::saveAllCachedData(bool ignore_errors) { @@ -210,8 +220,7 @@ void GmailServiceRoot::saveAllCachedData(bool ignore_errors) { QStringList ids = i.value(); if (!ids.isEmpty()) { - if (network()->markMessagesRead(key, ids, networkProxy()) != - QNetworkReply::NetworkError::NoError && + if (network()->markMessagesRead(key, ids, networkProxy()) != QNetworkReply::NetworkError::NoError && !ignore_errors) { addMessageStatesToCache(ids, key); } @@ -227,14 +236,14 @@ void GmailServiceRoot::saveAllCachedData(bool ignore_errors) { QList messages = j.value(); if (!messages.isEmpty()) { - QStringList custom_ids; custom_ids.reserve(messages.size()); + QStringList custom_ids; + custom_ids.reserve(messages.size()); for (const Message& msg : messages) { custom_ids.append(msg.m_customId); } - if (network()->markMessagesStarred(key, custom_ids, networkProxy()) != - QNetworkReply::NetworkError::NoError && + if (network()->markMessagesStarred(key, custom_ids, networkProxy()) != QNetworkReply::NetworkError::NoError && !ignore_errors) { addMessageStatesToCache(messages, key); } diff --git a/src/librssguard/services/reddit/redditserviceroot.cpp b/src/librssguard/services/reddit/redditserviceroot.cpp index 5d2ac6207..6010f896a 100644 --- a/src/librssguard/services/reddit/redditserviceroot.cpp +++ b/src/librssguard/services/reddit/redditserviceroot.cpp @@ -123,10 +123,12 @@ QString RedditServiceRoot::code() const { } QString RedditServiceRoot::additionalTooltip() const { - return tr("Authentication status: %1\n" + return ServiceRoot::additionalTooltip() + QSL("\n") + + tr("Authentication status: %1\n" "Login tokens expiration: %2") - .arg(network()->oauth()->isFullyLoggedIn() ? tr("logged-in") : tr("NOT logged-in"), - network()->oauth()->tokensExpireIn().isValid() ? network()->oauth()->tokensExpireIn().toString() : QSL("-")); + .arg(network()->oauth()->isFullyLoggedIn() ? tr("logged-in") : tr("NOT logged-in"), + network()->oauth()->tokensExpireIn().isValid() ? network()->oauth()->tokensExpireIn().toString() + : QSL("-")); } void RedditServiceRoot::saveAllCachedData(bool ignore_errors) { diff --git a/src/librssguard/services/tt-rss/ttrssserviceroot.cpp b/src/librssguard/services/tt-rss/ttrssserviceroot.cpp index 2753b4872..e4dd3c8f5 100644 --- a/src/librssguard/services/tt-rss/ttrssserviceroot.cpp +++ b/src/librssguard/services/tt-rss/ttrssserviceroot.cpp @@ -363,14 +363,15 @@ QList TtRssServiceRoot::obtainMessagesViaHeadlines(Feed* feed) { } QString TtRssServiceRoot::additionalTooltip() const { - return tr("Username: %1\nServer: %2\n" + return ServiceRoot::additionalTooltip() + QSL("\n") + + tr("Username: %1\nServer: %2\n" "Last error: %3\nLast login on: %4") - .arg(m_network->username(), - m_network->url(), - NetworkFactory::networkErrorText(m_network->lastError()), - m_network->lastLoginTime().isValid() - ? QLocale().toString(m_network->lastLoginTime(), QLocale::FormatType::ShortFormat) - : QSL("-")); + .arg(m_network->username(), + m_network->url(), + NetworkFactory::networkErrorText(m_network->lastError()), + m_network->lastLoginTime().isValid() + ? QLocale().toString(m_network->lastLoginTime(), QLocale::FormatType::ShortFormat) + : QSL("-")); } TtRssNetworkFactory* TtRssServiceRoot::network() const {