Preferences/__init__.py

changeset 5525
1771a7f9065c
parent 5523
4ca7f05b1efe
child 5526
11337e4fba52
--- a/Preferences/__init__.py	Thu Feb 16 18:52:42 2017 +0100
+++ b/Preferences/__init__.py	Thu Feb 16 18:58:58 2017 +0100
@@ -746,6 +746,8 @@
         "DeterminePyFromProject": True,
         "TasksProjectAutoSave": True,
         "TasksProjectRescanOnOpen": True,
+        "DebugClientsHistory": [],
+        "DebuggerInterpreterHistory": [],
     }
     
     # defaults for the multi project settings
@@ -2403,6 +2405,9 @@
     if key in ["RecentNumber"]:
         return int(prefClass.settings.value(
             "Project/" + key, prefClass.projectDefaults[key]))
+    elif key in ["DebugClientsHistory", "DebuggerInterpreterHistory"]:
+        return toList(prefClass.settings.value(
+            "Project/" + key, prefClass.projectDefaults[key]))
     else:
         return toBool(prefClass.settings.value(
             "Project/" + key, prefClass.projectDefaults[key]))
@@ -2416,7 +2421,14 @@
     @param value the value to be set
     @param prefClass preferences class used as the storage area
     """
-    prefClass.settings.setValue("Project/" + key, value)
+    if key in ["DebugClientsHistory", "DebuggerInterpreterHistory"]:
+        # max. list sizes is hard coded to 20 entries
+        newList = [v for v in value if v]
+        if len(newList) > 20:
+            newList = newList[:20]
+        prefClass.settings.setValue("Project/" + key, newList)
+    else:
+        prefClass.settings.setValue("Project/" + key, value)
     
 
 def getProjectBrowserFlags(key, prefClass=Prefs):

eric ide

mercurial