psa: adding toggle to show/hide specific feed on Event Feed stream
authorYves Marcoz <yves@marcoz.org>
Sat, 28 Jan 2012 06:37:55 +0000 (22:37 -0800)
committerYves Marcoz <yves@marcoz.org>
Sat, 28 Jan 2012 06:37:55 +0000 (22:37 -0800)
psa_harmattan/feedingit/pysrc/feedingit.py
psa_harmattan/feedingit/pysrc/rss_sqlite.py
psa_harmattan/feedingit/qml/main.qml

index 93ffc6a..b401a0c 100644 (file)
@@ -241,7 +241,7 @@ class Controller(QtCore.QObject):
         bus = dbus.SessionBus()
         settingService = bus.get_object('com.nokia.DuiControlPanel', '/')
         setting = shareService.get_dbus_method('appletPage', 'com.nokia.DuiControlPanelIf')
-        setting("FeedingIt Updates")
+        setting("FeedingIt")
 
     @QtCore.Slot(str, str)
     def share(self, key, articleid):
@@ -255,6 +255,21 @@ class Controller(QtCore.QObject):
         share = shareService.get_dbus_method('share', 'com.nokia.maemo.meegotouch.ShareUiInterface')
         #share([u'data:text/x-url;description=Support%20for%20Nokia%20Developers;title=Forum%20Nokia,http%3A%2F%2Fforum.nokia.com',])
         share( ['data:text/x-url;title=%s;description=%s,%s' %(urllib.quote(title), description, urllib.quote(link)),] )
+        
+    @QtCore.Slot(str, result=bool)
+    def getFeedEventStatus(self, key):
+        from gconf import client_get_defaults
+        return client_get_default().get_bool('/apps/ControlPanel/FeedingIt/EnableFeed/'+key)
+    
+    @QtCore.Slot(str)
+    def switchEventFeedStatus(self, key):
+        from gconf import client_get_defaults
+        value = client_get_default().get_bool('/apps/ControlPanel/FeedingIt/EventFeed/Hide/'+key)
+        if value:
+            client_get_default().unset('/apps/ControlPanel/FeedingIt/EventFeed/Hide/'+key)
+        else:
+            client_get_default().set_bool('/apps/ControlPanel/FeedingIt/EventFeed/Hide/'+key, True)
+    
 
 def main():
     if not isdir(CONFIGDIR):
index cf8d3c2..a848d5b 100644 (file)
@@ -1163,12 +1163,13 @@ class Listing(BaseObject):
         from gconf import client_get_default
         enable_event_feed = client_get_default().get_bool('/apps/ControlPanel/FeedingIt/EnableFeed')
         if enable_event_feed:
-            from eventfeed import EventFeedSender, EventFeedItem
-            sender = EventFeedSender('feedingit', 'FeedingIt RSS Reader')
-            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)
+            if not client_get_default().get_bool('/apps/ControlPanel/FeedingIt/EventFeed/Hide/'+key):
+                from eventfeed import EventFeedSender, EventFeedItem
+                sender = EventFeedSender('feedingit', 'FeedingIt RSS Reader')
+                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)
 
         update_server_object().ArticleCountUpdated()
 
index 0b47445..4d53500 100644 (file)
@@ -106,6 +106,14 @@ PageStackWindow {
         property string key
         MenuLayout {
             //MenuItem { text: qsTr("Update"); onClicked: controller.updateFeed(parent.feedid); }
+            MenuItem {
+                text: controller.getFeedEventStatus(key) ? qsTr("Show on Event Feed"): qsTr("Do not show on Event Feed")
+                onClicked: {
+                    controller.switchEventFeedStatus(key)
+                    text = controller.getFeedEventStatus(key) ? qsTr("Show on Event Feed"): qsTr("Do not show on Event Feed")
+                    unsubscribeFeedMenu.close()
+                }
+            }
             MenuItem { text: qsTr("Delete");
                 onClicked: {
                     feedConfirm.open()