From 3eee2ecff92b59d0a3fae0ee76fa92dcc0362bea Mon Sep 17 00:00:00 2001 From: Bob Swift Date: Fri, 25 Jun 2021 11:12:25 -0600 Subject: [PATCH] Make `rename_option()` also update option name in profile settings --- picard/config_upgrade.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/picard/config_upgrade.py b/picard/config_upgrade.py index 1eed020c4..ec481cba8 100644 --- a/picard/config_upgrade.py +++ b/picard/config_upgrade.py @@ -424,10 +424,20 @@ def upgrade_to_v2_7_0_dev_3(config): def rename_option(config, old_opt, new_opt, option_type, default): _s = config.setting if old_opt in _s: - _s[new_opt] = _s.value(old_opt, option_type, default) + new_value = _s.value(old_opt, option_type, default) + _s[new_opt] = new_value _s.remove(old_opt) - # TODO: Update profile settings to new option name + _p = config.profiles + ListOption.add_if_missing("profiles", "user_profiles", []) + Option.add_if_missing("profiles", "user_profile_settings", {}) + all_settings = _p["user_profile_settings"] + for profile in _p["user_profiles"]: + id = profile["id"] + if id in all_settings and old_opt in all_settings[id]["settings"]: + all_settings[id]["settings"][new_opt] = new_value + del all_settings[id]["settings"][old_opt] + _p["user_profile_settings"] = all_settings def upgrade_config(config):