diff --git a/src/librssguard/miscellaneous/databasecleaner.cpp b/src/librssguard/miscellaneous/databasecleaner.cpp index df5198acb..1d3e38712 100644 --- a/src/librssguard/miscellaneous/databasecleaner.cpp +++ b/src/librssguard/miscellaneous/databasecleaner.cpp @@ -16,7 +16,7 @@ void DatabaseCleaner::purgeDatabaseData(const CleanerOrders& which_data) { // Inform everyone about the start of the process. emit purgeStarted(); bool result = true; - const int difference = 99 / 8; + const int difference = 99 / 12; int progress = 0; QSqlDatabase database = qApp->database()->connection(metaObject()->className()); @@ -50,6 +50,16 @@ void DatabaseCleaner::purgeDatabaseData(const CleanerOrders& which_data) { emit purgeProgress(progress, tr("Old messages purged...")); } + if (which_data.m_removeStarredMessages) { + progress += difference; + emit purgeProgress(progress, tr("Removing starred messages...")); + + // Remove old messages. + result &= purgeStarredMessages(database); + progress += difference; + emit purgeProgress(progress, tr("Starred messages purged...")); + } + if (which_data.m_shrinkDatabase) { progress += difference; emit purgeProgress(progress, tr("Shrinking database file...")); diff --git a/src/librssguard/services/abstract/feed.cpp b/src/librssguard/services/abstract/feed.cpp index 72798d628..2fef84e83 100755 --- a/src/librssguard/services/abstract/feed.cpp +++ b/src/librssguard/services/abstract/feed.cpp @@ -10,6 +10,7 @@ #include "miscellaneous/mutex.h" #include "miscellaneous/textfactory.h" #include "services/abstract/cacheforserviceroot.h" +#include "services/abstract/importantnode.h" #include "services/abstract/recyclebin.h" #include "services/abstract/serviceroot.h" @@ -209,6 +210,11 @@ int Feed::updateMessages(const QList& messages, bool error_during_obtai getParentServiceRoot()->recycleBin()->updateCounts(true); items_to_update.append(getParentServiceRoot()->recycleBin()); } + + if (getParentServiceRoot()->importantNode() != nullptr && anything_updated) { + getParentServiceRoot()->importantNode()->updateCounts(true); + items_to_update.append(getParentServiceRoot()->importantNode()); + } } } else { diff --git a/src/librssguard/services/gmail/gmailserviceroot.cpp b/src/librssguard/services/gmail/gmailserviceroot.cpp index b5dd5f907..58946ac2a 100644 --- a/src/librssguard/services/gmail/gmailserviceroot.cpp +++ b/src/librssguard/services/gmail/gmailserviceroot.cpp @@ -165,7 +165,7 @@ void GmailServiceRoot::start(bool freshly_activated) { loadFromDatabase(); loadCacheFromFile(accountId()); - if (childCount() <= 1) { + if (childCount() <= 2) { syncIn(); } @@ -208,7 +208,6 @@ void GmailServiceRoot::saveAllCachedData(bool async) { while (j.hasNext()) { j.next(); auto key = j.key(); - QList messages = j.value(); if (!messages.isEmpty()) { diff --git a/src/librssguard/services/inoreader/inoreaderserviceroot.cpp b/src/librssguard/services/inoreader/inoreaderserviceroot.cpp index 98c451b9a..f6484d8fe 100644 --- a/src/librssguard/services/inoreader/inoreaderserviceroot.cpp +++ b/src/librssguard/services/inoreader/inoreaderserviceroot.cpp @@ -123,7 +123,7 @@ void InoreaderServiceRoot::start(bool freshly_activated) { loadFromDatabase(); loadCacheFromFile(accountId()); - if (childCount() <= 1) { + if (childCount() <= 2) { syncIn(); } else { diff --git a/src/librssguard/services/owncloud/owncloudserviceroot.cpp b/src/librssguard/services/owncloud/owncloudserviceroot.cpp index d109da2a7..cbb3dece4 100644 --- a/src/librssguard/services/owncloud/owncloudserviceroot.cpp +++ b/src/librssguard/services/owncloud/owncloudserviceroot.cpp @@ -74,7 +74,7 @@ void OwnCloudServiceRoot::start(bool freshly_activated) { loadFromDatabase(); loadCacheFromFile(accountId()); - if (childCount() <= 1) { + if (childCount() <= 2) { syncIn(); } } diff --git a/src/librssguard/services/tt-rss/ttrssserviceroot.cpp b/src/librssguard/services/tt-rss/ttrssserviceroot.cpp index c2be080e5..eeae74d96 100644 --- a/src/librssguard/services/tt-rss/ttrssserviceroot.cpp +++ b/src/librssguard/services/tt-rss/ttrssserviceroot.cpp @@ -36,7 +36,7 @@ void TtRssServiceRoot::start(bool freshly_activated) { loadFromDatabase(); loadCacheFromFile(accountId()); - if (qApp->isFirstRun(QSL("3.1.1")) || (childCount() == 1 && child(0)->kind() == RootItemKind::Bin)) { + if (childCount() <= 2) { syncIn(); } }