This commit is contained in:
Martin Rotter 2021-04-27 09:08:02 +02:00
parent fb0731f8ba
commit 73c5bafa3d
9 changed files with 41 additions and 16 deletions

View File

@ -30,7 +30,7 @@
<url type="donation">https://martinrotter.github.io/donate/</url>
<content_rating type="oars-1.1" />
<releases>
<release version="3.9.0" date="2021-04-20"/>
<release version="3.9.0" date="2021-04-27"/>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute>

View File

@ -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);;
}
}

View File

@ -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

View File

@ -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);

View File

@ -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<void (QComboBox::*)(int)>(&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());

View File

@ -207,7 +207,7 @@
</item>
</layout>
</item>
<item row="9" column="0" colspan="2">
<item row="10" column="0" colspan="2">
<widget class="QLabel" name="label_9">
<property name="font">
<font>
@ -225,7 +225,7 @@
</property>
</widget>
</item>
<item row="10" column="0" colspan="2">
<item row="11" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -252,6 +252,13 @@
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="QCheckBox" name="m_checkShowTooltips">
<property name="text">
<string>Display tooltips for feeds and messages</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="m_tabMessages">
@ -457,6 +464,7 @@
<tabstop>m_spinHeightRowsFeeds</tabstop>
<tabstop>m_cmbCountsFeedList</tabstop>
<tabstop>m_cbHideCountsIfNoUnread</tabstop>
<tabstop>m_checkShowTooltips</tabstop>
<tabstop>m_checkRemoveReadMessagesOnExit</tabstop>
<tabstop>m_checkDisplayPlaceholders</tabstop>
<tabstop>m_checkDisplayFeedIcons</tabstop>

View File

@ -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;

View File

@ -62,6 +62,9 @@ namespace Feeds {
KEY CountFormat;
VALUE(char*) CountFormatDef;
KEY EnableTooltipsFeedsMessages;
VALUE(bool) EnableTooltipsFeedsMessagesDef;
KEY AutoUpdateInterval;
VALUE(int) AutoUpdateIntervalDef;

View File

@ -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