--- 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):