[gnome-news/wip/gbsneto/improvements: 6/6] feeds-view: update items when something changes
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-news/wip/gbsneto/improvements: 6/6] feeds-view: update items when something changes
- Date: Sat, 5 Mar 2016 23:24:55 +0000 (UTC)
commit 20162f5e4814d553652334aefb8d311452b87be9
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Sat Mar 5 20:04:59 2016 -0300
feeds-view: update items when something changes
If we read an item in the News view and directly jump
into Feeds view, the item is not marked as read.
Fix that by updating items when something changes on
Tracker side.
gnomenews/view.py | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/gnomenews/view.py b/gnomenews/view.py
index 46f6b7d..9761140 100644
--- a/gnomenews/view.py
+++ b/gnomenews/view.py
@@ -196,9 +196,20 @@ class FeedsView(GenericFeedsView):
delete_channel_action = app.lookup_action('delete_channel')
delete_channel_action.connect('activate', self.delete_channel)
+ self.tracker.connect('items-updated', self.update_items)
self.tracker.connect('feeds-updated', self.update)
@log
+ def update_items(self, _=None):
+ for flowbox in self.feed_stack.get_children():
+ url = self.feed_stack.child_get_property(flowbox, 'name')
+
+ [flowbox.remove(old_feed) for old_feed in flowbox.get_children()]
+
+ posts = self.tracker.get_posts_for_channel(url)
+ [self._add_a_new_preview(post, flowbox) for post in posts]
+
+ @log
def update(self, _=None):
new_feeds = self.tracker.get_channels()
new_feed_urls = [new_feed['url'] for new_feed in new_feeds]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]