"""Remove all items """
self.event_feed.removeItemsBySourceName(self.source_name)
# No need to remember action IDs, because all items were removed
- self.actions = {}
\ No newline at end of file
+ self.actions = {}
+
+ def remove_item(self, id):
+ """Remove a specific item """
+ self.event_feed.removeItem(id)
\ No newline at end of file
self.cache_invalidate('feeds')
self.updateUnread(key)
+ ### Update the harmattan event feed if necessary
from gconf import client_get_default
enable_event_feed = client_get_default().get_bool('/apps/ControlPanel/FeedingIt/EnableFeed')
- if enable_event_feed:
+ if enable_event_feed and (self.getFeedNumberOfUnreadItems(key)>0):
if not client_get_default().get_bool('/apps/ControlPanel/FeedingIt/EventFeed/Hide/'+key):
from eventfeed import EventFeedSender, EventFeedItem
sender = EventFeedSender('feedingit', 'FeedingIt RSS Reader')
+
+ oldId = client_get_default().get_int('/apps/ControlPanel/FeedingIt/EventFeed/Ids/'+key)
+ if oldId > 0:
+ sender.remove_item(oldId)
+
item = EventFeedItem('/usr/share/feedingit/qml/common/images/feedingit.png', self.getFeedTitle(key))
item.set_body(str(self.getFeedNumberOfUnreadItems(key)) + ' unread items')
item.set_action_data([key,])
- sender.add_item(item)
+ eventId = sender.add_item(item)
+ client_get_default().set_int('/apps/ControlPanel/FeedingIt/EventFeed/Ids/'+key, eventId)
update_server_object().ArticleCountUpdated()