From 9c83ee08e8a453f364e6f2d41b2f9bcf571e4789 Mon Sep 17 00:00:00 2001 From: Bart De Vries Date: Sat, 8 May 2021 16:13:28 +0200 Subject: [PATCH] Show BusyIndicator on newly added feeds until they have finished updating --- src/datamanager.cpp | 7 +++++-- src/feed.cpp | 1 - src/fetcher.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/datamanager.cpp b/src/datamanager.cpp index 7e2af1c7..c342e89e 100644 --- a/src/datamanager.cpp +++ b/src/datamanager.cpp @@ -34,8 +34,11 @@ DataManager::DataManager() feed->setLastUpdated(lastUpdated); // qDebug() << "Retrieving authors"; feed->updateAuthors(); - // TODO: signal feedmodel: Q_EMIT dataChanged(createIndex(i, 0), createIndex(i, 0)); - // quite sure that this is actually not needed + // For feeds that have just been added, this is probably the point + // where the Feed object gets created; let's set refreshing to + // true in order to show user feedback that the feed is still + // being fetched + feed->setRefreshing(true); } }); connect(&Fetcher::instance(), &Fetcher::entryAdded, this, [this](const QString &feedurl, const QString &id) { diff --git a/src/feed.cpp b/src/feed.cpp index 935deaca..22b3fd23 100644 --- a/src/feed.cpp +++ b/src/feed.cpp @@ -50,7 +50,6 @@ Feed::Feed(const QString &feedurl) }); connect(&DataManager::instance(), &DataManager::feedEntriesUpdated, this, [this](const QString &url) { if (url == m_url) { - setRefreshing(false); Q_EMIT entryCountChanged(); Q_EMIT unreadEntryCountChanged(); setErrorId(0); diff --git a/src/fetcher.cpp b/src/fetcher.cpp index 5b8d5493..6dc6ca65 100644 --- a/src/fetcher.cpp +++ b/src/fetcher.cpp @@ -189,7 +189,7 @@ void Fetcher::processFeed(Syndication::FeedPtr feed, const QString &url) query.bindValue(QStringLiteral(":image"), image); Database::instance().execute(query); - qDebug() << "Updated feed:" << feed->title(); + qDebug() << "Updated feed details:" << feed->title(); Q_EMIT feedDetailsUpdated(url, feed->title(), image, feed->link(), feed->description(), current);