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