From 357663c8dcc95500a6290a8ae82bc61ccc444467 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Tue, 6 Jun 2017 10:27:08 +0200 Subject: [PATCH] Fixed #119. --- resources/text/CHANGELOG | 1 + src/gui/settings/settingsfeedsmessages.cpp | 3 +++ src/gui/settings/settingsfeedsmessages.ui | 21 ++++++++++++++------- src/miscellaneous/feedreader.cpp | 8 +++++--- src/miscellaneous/settings.cpp | 3 +++ src/miscellaneous/settings.h | 3 +++ 6 files changed, 29 insertions(+), 10 deletions(-) diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG index 376102815..38ebd2ed1 100755 --- a/resources/text/CHANGELOG +++ b/resources/text/CHANGELOG @@ -2,6 +2,7 @@ ————— Added: +▪ Auto-update notification is now switchable. (issue #119) ▪ Messages which are not removed or restored are not instantly deleted from list, they are striked-through instead. This is more resource friendly. ▪ Message list is now not reloaded when doing batch message operations. ▪ Message list SQL queries are now fully adjustable. This will allow for integration of labels functionality in the future. diff --git a/src/gui/settings/settingsfeedsmessages.cpp b/src/gui/settings/settingsfeedsmessages.cpp index d1b601b00..4d8e15891 100755 --- a/src/gui/settings/settingsfeedsmessages.cpp +++ b/src/gui/settings/settingsfeedsmessages.cpp @@ -37,6 +37,7 @@ SettingsFeedsMessages::SettingsFeedsMessages(Settings *settings, QWidget *parent GuiUtilities::setLabelAsNotice(m_ui->label_9, false); + connect(m_ui->m_checkAutoUpdateNotification, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); connect(m_ui->m_checkAutoUpdate, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); connect(m_ui->m_checkKeppMessagesInTheMiddle, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); connect(m_ui->m_checkMessagesDateTimeFormat, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); @@ -90,6 +91,7 @@ void SettingsFeedsMessages::changeMessagesFont() { void SettingsFeedsMessages::loadSettings() { onBeginLoadSettings(); + m_ui->m_checkAutoUpdateNotification->setChecked(settings()->value(GROUP(Feeds), SETTING(Feeds::EnableAutoUpdateNotification)).toBool()); m_ui->m_checkKeppMessagesInTheMiddle->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::KeepCursorInCenter)).toBool()); m_ui->m_checkRemoveReadMessagesOnExit->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::ClearReadOnExit)).toBool()); m_ui->m_checkAutoUpdate->setChecked(settings()->value(GROUP(Feeds), SETTING(Feeds::AutoUpdateEnabled)).toBool()); @@ -121,6 +123,7 @@ void SettingsFeedsMessages::loadSettings() { void SettingsFeedsMessages::saveSettings() { onBeginSaveSettings(); + settings()->setValue(GROUP(Feeds), Feeds::EnableAutoUpdateNotification, m_ui->m_checkAutoUpdateNotification->isChecked()); settings()->setValue(GROUP(Messages), Messages::KeepCursorInCenter, m_ui->m_checkKeppMessagesInTheMiddle->isChecked()); settings()->setValue(GROUP(Messages), Messages::ClearReadOnExit, m_ui->m_checkRemoveReadMessagesOnExit->isChecked()); settings()->setValue(GROUP(Feeds), Feeds::AutoUpdateEnabled, m_ui->m_checkAutoUpdate->isChecked()); diff --git a/src/gui/settings/settingsfeedsmessages.ui b/src/gui/settings/settingsfeedsmessages.ui index c74ba5492..e1325aa7d 100755 --- a/src/gui/settings/settingsfeedsmessages.ui +++ b/src/gui/settings/settingsfeedsmessages.ui @@ -43,14 +43,14 @@ - + Auto-update all feeds every - + false @@ -63,14 +63,14 @@ - + Feed connection timeout - + Connection timeout is time interval which is reserved for downloading new messages for the feed. If this time interval elapses, then download process is aborted. @@ -89,14 +89,14 @@ - + Message count format in feed list - + @@ -106,7 +106,7 @@ - + @@ -124,6 +124,13 @@ + + + + Enable "auto-update started" notification + + + diff --git a/src/miscellaneous/feedreader.cpp b/src/miscellaneous/feedreader.cpp index c085ba0f3..7198a301f 100755 --- a/src/miscellaneous/feedreader.cpp +++ b/src/miscellaneous/feedreader.cpp @@ -208,9 +208,11 @@ void FeedReader::executeNextAutoUpdate() { // NOTE: OSD/bubble informing about performing // of scheduled update can be shown now. - qApp->showGuiMessage(tr("Starting auto-update of some feeds"), - tr("I will auto-update %n feed(s).", 0, feeds_for_update.size()), - QSystemTrayIcon::Information); + if (qApp->settings()->value(GROUP(Feeds), SETTING(Feeds::EnableAutoUpdateNotification)).toBool()) { + qApp->showGuiMessage(tr("Starting auto-update of some feeds"), + tr("I will auto-update %n feed(s).", 0, feeds_for_update.size()), + QSystemTrayIcon::Information); + } } } diff --git a/src/miscellaneous/settings.cpp b/src/miscellaneous/settings.cpp index f8bce1f36..58c2b2f9f 100755 --- a/src/miscellaneous/settings.cpp +++ b/src/miscellaneous/settings.cpp @@ -31,6 +31,9 @@ DKEY Feeds::ID = "feeds"; DKEY Feeds::UpdateTimeout = "feed_update_timeout"; DVALUE(int) Feeds::UpdateTimeoutDef = DOWNLOAD_TIMEOUT; +DKEY Feeds::EnableAutoUpdateNotification = "enable_auto_update_notification"; +DVALUE(bool) Feeds::EnableAutoUpdateNotificationDef = true; + DKEY Feeds::CountFormat = "count_format"; DVALUE(char*) Feeds::CountFormatDef = "(%unread)"; diff --git a/src/miscellaneous/settings.h b/src/miscellaneous/settings.h index 04a6a8865..eb1dfe7df 100755 --- a/src/miscellaneous/settings.h +++ b/src/miscellaneous/settings.h @@ -46,6 +46,9 @@ namespace Feeds { KEY UpdateTimeout; VALUE(int) UpdateTimeoutDef; + KEY EnableAutoUpdateNotification; + VALUE(bool) EnableAutoUpdateNotificationDef; + KEY CountFormat; VALUE(char*) CountFormatDef;