Use class method for initializing profile options

This commit is contained in:
Bob Swift
2021-06-25 15:09:10 -06:00
parent ec176d5ce9
commit 0ae618835b
2 changed files with 7 additions and 4 deletions

View File

@@ -137,14 +137,18 @@ class SettingConfigSection(ConfigSection):
PROFILES_KEY = 'user_profiles'
SETTINGS_KEY = 'user_profile_settings'
@classmethod
def init_profile_options(cls):
ListOption.add_if_missing("profiles", cls.PROFILES_KEY, [])
Option.add_if_missing("profiles", cls.SETTINGS_KEY, {})
def __init__(self, config, name):
super().__init__(config, name)
self.__qt_config = config
self.__name = name
self.__prefix = self.__name + '/'
self._memoization = defaultdict(Memovar)
ListOption.add_if_missing("profiles", self.PROFILES_KEY, [])
Option.add_if_missing("profiles", self.SETTINGS_KEY, {})
self.init_profile_options()
def _get_active_profile_ids(self):
profiles = self.__qt_config.profiles[self.PROFILES_KEY]

View File

@@ -428,8 +428,7 @@ def rename_option(config, old_opt, new_opt, option_type, default):
_s.remove(old_opt)
_p = config.profiles
ListOption.add_if_missing("profiles", "user_profiles", [])
Option.add_if_missing("profiles", "user_profile_settings", {})
_s.init_profile_options()
all_settings = _p["user_profile_settings"]
for profile in _p["user_profiles"]:
id = profile["id"]