diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG
index 86539bc2b..6075df03b 100644
--- a/resources/text/CHANGELOG
+++ b/resources/text/CHANGELOG
@@ -19,6 +19,7 @@
Added:
- Added experimental support for fetching metadata for individual feeds via feed context menu. (issue #118)
+ - "Show unread feeds only" is now persistent between application sessions. GUI of this feature will be worked on in upcoming releases. (issue #119)
Fixed:
diff --git a/src/core/feedsproxymodel.cpp b/src/core/feedsproxymodel.cpp
index 3e8d9f5cc..36215a3d8 100755
--- a/src/core/feedsproxymodel.cpp
+++ b/src/core/feedsproxymodel.cpp
@@ -18,6 +18,7 @@
#include "core/feedsproxymodel.h"
#include "definitions/definitions.h"
+#include "miscellaneous/application.h"
#include "core/feedsmodel.h"
#include "core/category.h"
#include "core/feed.h"
@@ -219,6 +220,7 @@ bool FeedsProxyModel::showUnreadOnly() const {
void FeedsProxyModel::setShowUnreadOnly(bool show_unread_only) {
m_showUnreadOnly = show_unread_only;
+ qApp->settings()->setValue(GROUP(Feeds), Feeds::ShowOnlyUnreadFeeds, show_unread_only);
}
QModelIndexList FeedsProxyModel::mapListToSource(const QModelIndexList &indexes) {
diff --git a/src/gui/dialogs/formmain.cpp b/src/gui/dialogs/formmain.cpp
index a2c9bc0b3..35ef10a99 100755
--- a/src/gui/dialogs/formmain.cpp
+++ b/src/gui/dialogs/formmain.cpp
@@ -319,6 +319,9 @@ void FormMain::loadSize() {
m_ui->m_tabWidget->feedMessageViewer()->loadSize();
m_ui->m_actionSwitchToolBars->setChecked(settings->value(GROUP(GUI), SETTING(GUI::ToolbarsVisible)).toBool());
m_ui->m_actionSwitchListHeaders->setChecked(settings->value(GROUP(GUI), SETTING(GUI::ListHeadersVisible)).toBool());
+
+ // Make sure that only unread feeds are shown if user has that feature set on.
+ m_ui->m_actionShowOnlyUnreadFeeds->setChecked(settings->value(GROUP(Feeds), SETTING(Feeds::ShowOnlyUnreadFeeds)).toBool());
}
void FormMain::saveSize() {
diff --git a/src/miscellaneous/settings.cpp b/src/miscellaneous/settings.cpp
index 0d6fe49c5..dd67b27cc 100755
--- a/src/miscellaneous/settings.cpp
+++ b/src/miscellaneous/settings.cpp
@@ -45,6 +45,9 @@ DVALUE(bool) Feeds::AutoUpdateEnabledDef = false;
DKEY Feeds::FeedsUpdateOnStartup = "feeds_update_on_startup";
DVALUE(bool) Feeds::FeedsUpdateOnStartupDef = false;
+DKEY Feeds::ShowOnlyUnreadFeeds = "show_only_unread_feeds";
+DVALUE(bool) Feeds::ShowOnlyUnreadFeedsDef = false;
+
// Messages.
DKEY Messages::ID = "messages";
diff --git a/src/miscellaneous/settings.h b/src/miscellaneous/settings.h
index 8dc658462..5c9d4ac7a 100755
--- a/src/miscellaneous/settings.h
+++ b/src/miscellaneous/settings.h
@@ -55,6 +55,9 @@ namespace Feeds {
KEY FeedsUpdateOnStartup;
VALUE(bool) FeedsUpdateOnStartupDef;
+
+ KEY ShowOnlyUnreadFeeds;
+ VALUE(bool) ShowOnlyUnreadFeedsDef;
}
// Messages.