Remembering the filter on restart
authorEd Page <eopage@byu.net>
Fri, 23 Apr 2010 01:24:38 +0000 (20:24 -0500)
committerEd Page <eopage@byu.net>
Fri, 23 Apr 2010 01:24:38 +0000 (20:24 -0500)
src/libliststorehandler.py
src/multilist_gtk.py

index e831ee7..0002933 100644 (file)
@@ -20,6 +20,7 @@ along with Multilist.  If not, see <http://www.gnu.org/licenses/>.
 Copyright (C) 2008 Christoph Würstle
 """
 
+import ConfigParser
 import logging
 
 import gtk
@@ -58,6 +59,18 @@ class Liststorehandler(object):
                self.selection.connect("changed", self.update_list)
                #self.selection.connect("changedCategory", self.update_category)
 
+       def save_settings(self, config, sectionName):
+               config.set(sectionName, "filter", self.__filter)
+
+       def load_settings(self, config, sectionName):
+               try:
+                       selectedFilter = config.get(sectionName, "filter")
+                       self.set_filter(selectedFilter)
+               except ConfigParser.NoSectionError:
+                       pass
+               except ConfigParser.NoOptionError:
+                       pass
+
        def set_filter(self, filter):
                assert filter in self.ALL_FILTERS
                self.__filter = filter
index ea1a930..3eaf97e 100755 (executable)
@@ -278,6 +278,9 @@ class Multilist(hildonize.get_app_class()):
                config.set(constants.__pretty_app_name__, "portrait", str(self.__isPortrait))
                config.set(constants.__pretty_app_name__, "fullscreen", str(self.__window_in_fullscreen))
 
+               config.add_section("List")
+               self.liststorehandler.save_settings(config, "List")
+
        def _load_settings(self):
                config = ConfigParser.SafeConfigParser()
                config.read(self._user_settings)
@@ -310,6 +313,8 @@ class Multilist(hildonize.get_app_class()):
                else:
                        self.window.unfullscreen()
 
+               self.liststorehandler.load_settings(config, "List")
+
        def _toggle_search(self):
                if self._search.get_property("visible"):
                        self._search.hide()