Persist the sort preference
authorEd Page <eopage@byu.net>
Tue, 8 Jun 2010 03:00:57 +0000 (22:00 -0500)
committerEd Page <eopage@byu.net>
Tue, 8 Jun 2010 22:56:54 +0000 (17:56 -0500)
src/gonvert_qt.py
support/builddeb.py

index 2b7be75..01e4ab8 100755 (executable)
@@ -238,6 +238,25 @@ class Gonvert(object):
 
                self._fullscreenAction.setChecked(settings.get("isFullScreen", False))
 
+               sortBy = settings.get("sortBy", "name")
+               if sortBy not in ["name", "value", "unit"]:
+                       _moduleLogger.info("Setting sortBy is not a valid value: %s" % sortBy)
+                       sortBy = "name"
+               if sortBy == "name":
+                       self._sortByNameAction.setChecked(True)
+                       self._sortByValueAction.setChecked(False)
+                       self._sortByUnitAction.setChecked(False)
+               elif sortBy == "value":
+                       self._sortByNameAction.setChecked(False)
+                       self._sortByValueAction.setChecked(True)
+                       self._sortByUnitAction.setChecked(False)
+               elif sortBy == "unit":
+                       self._sortByNameAction.setChecked(False)
+                       self._sortByValueAction.setChecked(False)
+                       self._sortByUnitAction.setChecked(True)
+               else:
+                       raise RuntimeError("How did this sortBy come about? %s" % sortBy)
+
                recent = settings.get("recent", self._recent)
                for category, unit in recent:
                        self.add_recent(category, unit)
@@ -253,6 +272,14 @@ class Gonvert(object):
                self._condensedAction.setChecked(settings.get("useQuick", self._condensedAction.isChecked()))
 
        def save_settings(self):
+               if self._sortByNameAction.isChecked():
+                       sortBy = "name"
+               elif self._sortByValueAction.isChecked():
+                       sortBy = "value"
+               elif self._sortByUnitAction.isChecked():
+                       sortBy = "unit"
+               else:
+                       raise RuntimeError("Unknown sorting value")
                settings = {
                        "isFullScreen": self._fullscreenAction.isChecked(),
                        "recent": self._recent,
@@ -263,6 +290,7 @@ class Gonvert(object):
                        ),
                        "showFavorites": self._showFavoritesAction.isChecked(),
                        "useQuick": self._condensedAction.isChecked(),
+                       "sortBy": sortBy,
                }
                with open(constants._user_settings_, "w") as settingsFile:
                        simplejson.dump(settings, settingsFile)
index 162ec16..bd89d13 100755 (executable)
@@ -22,6 +22,7 @@ __changelog__ = """
 * A condensed view of unit conversion for those who so chose
 * Changed the way windows handle closing
 * Improved performance of jumping between some of the windows (including startup)
+* Persisting the sort preference
 """