diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index 3c575bea3..11d1ea0a2 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -30,7 +30,7 @@
https://martinrotter.github.io/donate/
-
+
none
diff --git a/src/librssguard/core/feedsmodel.cpp b/src/librssguard/core/feedsmodel.cpp
index b3f1c27a6..874eb493a 100644
--- a/src/librssguard/core/feedsmodel.cpp
+++ b/src/librssguard/core/feedsmodel.cpp
@@ -563,3 +563,18 @@ bool FeedsModel::markItemRead(RootItem* item, RootItem::ReadStatus read) {
bool FeedsModel::markItemCleared(RootItem* item, bool clean_read_only) {
return item->cleanMessages(clean_read_only);
}
+
+QVariant FeedsModel::data(const QModelIndex& index, int role) const {
+ switch (role) {
+ case Qt::ItemDataRole::FontRole:
+ return itemForIndex(index)->countOfUnreadMessages() > 0 ? m_boldFont : m_normalFont;
+
+ case Qt::ItemDataRole::ToolTipRole:
+ if (!qApp->settings()->value(GROUP(Feeds), SETTING(Feeds::EnableTooltipsFeedsMessages)).toBool()) {
+ return QVariant();
+ }
+
+ default:
+ return itemForIndex(index)->data(index.column(), role);;
+ }
+}
diff --git a/src/librssguard/core/feedsmodel.h b/src/librssguard/core/feedsmodel.h
index 437851e14..89a05e908 100644
--- a/src/librssguard/core/feedsmodel.h
+++ b/src/librssguard/core/feedsmodel.h
@@ -156,14 +156,4 @@ class RSSGUARD_DLLSPEC FeedsModel : public QAbstractItemModel {
QFont m_boldFont;
};
-inline QVariant FeedsModel::data(const QModelIndex& index, int role) const {
- switch (role) {
- case Qt::ItemDataRole::FontRole:
- return itemForIndex(index)->countOfUnreadMessages() > 0 ? m_boldFont : m_normalFont;
-
- default:
- return itemForIndex(index)->data(index.column(), role);;
- }
-}
-
#endif // FEEDSMODEL_H
diff --git a/src/librssguard/core/messagesmodel.cpp b/src/librssguard/core/messagesmodel.cpp
index e00a2e9c3..adad8a514 100644
--- a/src/librssguard/core/messagesmodel.cpp
+++ b/src/librssguard/core/messagesmodel.cpp
@@ -335,7 +335,10 @@ QVariant MessagesModel::data(const QModelIndex& idx, int role) const {
: QSqlQueryModel::data(idx, role);
case Qt::ItemDataRole::ToolTipRole: {
- if (idx.column() == MSG_DB_SCORE_INDEX) {
+ if (!qApp->settings()->value(GROUP(Feeds), SETTING(Feeds::EnableTooltipsFeedsMessages)).toBool()) {
+ return QVariant();
+ }
+ else if (idx.column() == MSG_DB_SCORE_INDEX) {
QVariant dta = m_cache->containsData(idx.row())
? m_cache->data(idx)
: QSqlQueryModel::data(idx);
diff --git a/src/librssguard/gui/settings/settingsfeedsmessages.cpp b/src/librssguard/gui/settings/settingsfeedsmessages.cpp
index 54ecdeed4..e0888829b 100644
--- a/src/librssguard/gui/settings/settingsfeedsmessages.cpp
+++ b/src/librssguard/gui/settings/settingsfeedsmessages.cpp
@@ -67,6 +67,7 @@ SettingsFeedsMessages::SettingsFeedsMessages(Settings* settings, QWidget* parent
connect(m_ui->m_cmbCountsFeedList, &QComboBox::currentTextChanged, this, &SettingsFeedsMessages::dirtifySettings);
connect(m_ui->m_cmbCountsFeedList, static_cast(&QComboBox::currentIndexChanged), this,
&SettingsFeedsMessages::dirtifySettings);
+ connect(m_ui->m_checkShowTooltips, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings);
connect(m_ui->m_btnChangeMessagesFont, &QPushButton::clicked, this, [&]() {
changeFont(*m_ui->m_lblMessagesFont);
@@ -144,6 +145,7 @@ void SettingsFeedsMessages::loadSettings() {
m_ui->m_cmbCountsFeedList->addItems(QStringList() << "(%unread)" << "[%unread]" << "%unread/%all" << "%unread-%all" << "[%unread|%all]");
m_ui->m_cmbCountsFeedList->setEditText(settings()->value(GROUP(Feeds), SETTING(Feeds::CountFormat)).toString());
m_ui->m_spinHeightImageAttachments->setValue(settings()->value(GROUP(Messages), SETTING(Messages::MessageHeadImageHeight)).toInt());
+ m_ui->m_checkShowTooltips->setChecked(settings()->value(GROUP(Feeds), SETTING(Feeds::EnableTooltipsFeedsMessages)).toBool());
#if !defined (USE_WEBENGINE)
m_ui->m_checkDisplayPlaceholders->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::DisplayImagePlaceholders)).toBool());
@@ -204,6 +206,7 @@ void SettingsFeedsMessages::saveSettings() {
settings()->setValue(GROUP(Feeds), Feeds::CountFormat, m_ui->m_cmbCountsFeedList->currentText());
settings()->setValue(GROUP(Messages), Messages::UseCustomDate, m_ui->m_checkMessagesDateTimeFormat->isChecked());
settings()->setValue(GROUP(Messages), Messages::MessageHeadImageHeight, m_ui->m_spinHeightImageAttachments->value());
+ settings()->setValue(GROUP(Feeds), Feeds::EnableTooltipsFeedsMessages, m_ui->m_checkShowTooltips->isChecked());
#if !defined (USE_WEBENGINE)
settings()->setValue(GROUP(Messages), Messages::DisplayImagePlaceholders, m_ui->m_checkDisplayPlaceholders->isChecked());
diff --git a/src/librssguard/gui/settings/settingsfeedsmessages.ui b/src/librssguard/gui/settings/settingsfeedsmessages.ui
index be57a5337..8eaa2c981 100644
--- a/src/librssguard/gui/settings/settingsfeedsmessages.ui
+++ b/src/librssguard/gui/settings/settingsfeedsmessages.ui
@@ -207,7 +207,7 @@
- -
+
-
@@ -225,7 +225,7 @@
- -
+
-
Qt::Vertical
@@ -252,6 +252,13 @@
+ -
+
+
+ Display tooltips for feeds and messages
+
+
+
@@ -457,6 +464,7 @@
m_spinHeightRowsFeeds
m_cmbCountsFeedList
m_cbHideCountsIfNoUnread
+ m_checkShowTooltips
m_checkRemoveReadMessagesOnExit
m_checkDisplayPlaceholders
m_checkDisplayFeedIcons
diff --git a/src/librssguard/miscellaneous/settings.cpp b/src/librssguard/miscellaneous/settings.cpp
index 06b1fec57..ea0f6ddac 100755
--- a/src/librssguard/miscellaneous/settings.cpp
+++ b/src/librssguard/miscellaneous/settings.cpp
@@ -42,6 +42,9 @@ DVALUE(bool) Feeds::EnableAutoUpdateNotificationDef = false;
DKEY Feeds::CountFormat = "count_format";
DVALUE(char*) Feeds::CountFormatDef = "(%unread)";
+DKEY Feeds::EnableTooltipsFeedsMessages = "show_tooltips";
+DVALUE(bool) Feeds::EnableTooltipsFeedsMessagesDef = true;
+
DKEY Feeds::AutoUpdateInterval = "auto_update_interval";
DVALUE(int) Feeds::AutoUpdateIntervalDef = DEFAULT_AUTO_UPDATE_INTERVAL;
diff --git a/src/librssguard/miscellaneous/settings.h b/src/librssguard/miscellaneous/settings.h
index 1e89578ee..55fc8fab8 100644
--- a/src/librssguard/miscellaneous/settings.h
+++ b/src/librssguard/miscellaneous/settings.h
@@ -62,6 +62,9 @@ namespace Feeds {
KEY CountFormat;
VALUE(char*) CountFormatDef;
+ KEY EnableTooltipsFeedsMessages;
+ VALUE(bool) EnableTooltipsFeedsMessagesDef;
+
KEY AutoUpdateInterval;
VALUE(int) AutoUpdateIntervalDef;
diff --git a/src/librssguard/network-web/basenetworkaccessmanager.cpp b/src/librssguard/network-web/basenetworkaccessmanager.cpp
index 5370b04b7..07f10a9be 100644
--- a/src/librssguard/network-web/basenetworkaccessmanager.cpp
+++ b/src/librssguard/network-web/basenetworkaccessmanager.cpp
@@ -60,10 +60,10 @@ QNetworkReply* BaseNetworkAccessManager::createRequest(QNetworkAccessManager::Op
new_request.setAttribute(QNetworkRequest::Attribute::Http2AllowedAttribute, true);
#endif
-#if QT_VERSION >= 0x050900
+#if QT_VERSION >= 0x050900 // Qt >= 5.9.0
new_request.setAttribute(QNetworkRequest::Attribute::RedirectPolicyAttribute,
QNetworkRequest::RedirectPolicy::UserVerifiedRedirectPolicy);
-#elif QT_VERSION >= 0x050600
+#elif QT_VERSION >= 0x050600 // Qt >= 5.6.0
new_request.setAttribute(QNetworkRequest::Attribute::FollowRedirectsAttribute, true);
#endif