psa: implemented settings
[feedingit] / psa_harmattan / feedingit / pysrc / feedingit.py
index 952b5e0..d2060e8 100644 (file)
@@ -8,6 +8,7 @@ import os
 from os import mkdir, remove, stat, environ
 from os.path import isfile, isdir, exists
 import codecs
+from gconf import client_get_default
 
 # Comment the line below if you don't want to use OpenGL for QML rendering or if it is not supported
 from PySide import QtOpenGL,  QtCore
@@ -17,7 +18,7 @@ CONFIGDIR = environ.get("HOME", "/home/user") + "/.feedingit"
 #CONFIGDIR = "/home/user/.feedingit"
 
 import logging
-#logger = logging.getLogger(__name__)
+logger = logging.getLogger(__name__)
 
 import debugging
 debugging.init(dot_directory=".feedingit", program_name="feedingit-pyside")
@@ -50,7 +51,7 @@ class Controller(QtCore.QObject):
     @QtCore.Slot(str,result=str)
     def getArticlesXml(self, key):
         #onlyUnread = arguments.get("onlyUnread","False")
-        return self._handler.generateArticlesXml(key, "False")
+        return self._handler.generateArticlesXml(key, config.getHideReadArticles())
     
     @QtCore.Slot(result=str)
     def getCategoryXml(self):
@@ -112,6 +113,14 @@ class Controller(QtCore.QObject):
             return "False"
         return ""
     
+    @QtCore.Slot(str, str)
+    def populateFileDialog(self, path, type):
+        import glob
+        import os.path
+        for file in glob.glob(path+type):
+            logger.debug(file)
+            root.addFileNotification(file, os.path.basename(file))
+    
     @QtCore.Slot(str, result=int)
     def importOpml(self, filename):
         from opml_lib import parseOpml
@@ -135,6 +144,31 @@ class Controller(QtCore.QObject):
         except:
             logger.debug("Error exporting: %s" % filename)
             return "error"
+        
+    @QtCore.Slot(str, result=bool)
+    def getBooleanSetting(self, setting):
+        if (setting == "theme"):
+            return config.getTheme()
+        elif (setting == "imageCache" ):
+            return config.getImageCache()
+        elif (setting == "hideReadFeeds"):
+            return config.getHideReadFeeds()
+        elif (setting == "hideReadArticles"):
+            return config.getHideReadArticles()
+        else:
+            return 'True'
+        
+    @QtCore.Slot(str, bool)
+    def setBooleanSetting(self, setting, value):
+        if (setting == "theme"):
+            config.setTheme(value)
+        elif (setting == "imageCache" ):
+            config.setImageCache(value)
+        elif (setting == "hideReadFeeds"):
+            config.setHideReadFeeds(value)
+        elif (setting == "hideReadArticles"):
+            config.setHideReadArticles(value)
+        config.saveConfig()
 
 def main():
 
@@ -164,6 +198,7 @@ def main():
 
     controller = Controller(listing)
  
+    global root
     rc = view.rootContext()
  
     rc.setContextProperty('controller', controller)
@@ -181,6 +216,7 @@ def main():
         view.setSource(os.path.join('qml','main.qml'))
         view.show()
         #view.setSource(os.path.join('qml','FeedingIt.qml'))
+    root = view.rootObject()
 
     #view.showFullScreen()
     #view.show()