From 5d378c7876dadb9d107f8ba1b0783a29c58546f8 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 14 Feb 2025 09:34:22 +0100 Subject: [PATCH] make better border for tooltip in nudus-dark --- resources/skins/nudus-dark/qt_style.qss | 2 +- src/librssguard/core/feeddownloader.cpp | 2 ++ src/librssguard/network-web/networkfactory.cpp | 15 ++++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/resources/skins/nudus-dark/qt_style.qss b/resources/skins/nudus-dark/qt_style.qss index e31b6c6d3..af45af412 100644 --- a/resources/skins/nudus-dark/qt_style.qss +++ b/resources/skins/nudus-dark/qt_style.qss @@ -10,7 +10,7 @@ QPlainTextEdit:focus { QToolTip { background-color: palette(window); - border: 1px solid palette(dark); + border: 1px solid palette(highlight); border-radius: 2px; } diff --git a/src/librssguard/core/feeddownloader.cpp b/src/librssguard/core/feeddownloader.cpp index ce2969d27..612d57fea 100644 --- a/src/librssguard/core/feeddownloader.cpp +++ b/src/librssguard/core/feeddownloader.cpp @@ -453,8 +453,10 @@ void FeedDownloader::updateOneFeed(ServiceRoot* acc, if (network_result.m_httpCode == HTTP_CODE_TOO_MANY_REQUESTS || network_result.m_httpCode == HTTP_CODE_UNAVAILABLE) { QDateTime safe_dt = NetworkFactory::extractRetryAfter(network_result.m_headers.value(QSL("retry-after"))); + m_overloadedHosts.insert(QUrl(feed->source()).host(), safe_dt); + qDebugNN << LOGSEC_CORE << "Extracted Retry-After value is" << QUOTE_W_SPACE_DOT(safe_dt); qWarningNN << LOGSEC_CORE << "Feed" << QUOTE_W_SPACE_DOT(feed->source()) << "indicates that there is too many requests right now on the same host."; } diff --git a/src/librssguard/network-web/networkfactory.cpp b/src/librssguard/network-web/networkfactory.cpp index 9f6b3765f..9febcdfaf 100644 --- a/src/librssguard/network-web/networkfactory.cpp +++ b/src/librssguard/network-web/networkfactory.cpp @@ -3,6 +3,7 @@ #include "network-web/networkfactory.h" #include "definitions/definitions.h" +#include "miscellaneous/textfactory.h" #include "network-web/downloader.h" #include @@ -14,7 +15,19 @@ #include QDateTime NetworkFactory::extractRetryAfter(const QString& retry_after_value) { - return {}; + if (retry_after_value.simplified().isEmpty()) { + return {}; + } + + bool is_int = false; + int seconds = retry_after_value.toInt(&is_int, 10); + + if (is_int) { + return QDateTime::currentDateTimeUtc().addSecs(seconds); + } + + return QDateTime::fromString(retry_after_value.simplified().replace(QSL("GMT"), QSL("+0000")), + QSL("ddd, dd MMM yyyy HH:mm:ss tt")); } QStringList NetworkFactory::extractFeedLinksFromHtmlPage(const QUrl& url, const QString& html) {