On every settings read / write access the list of profile setting names got compiled again. This list does not change on runtime, so instead compute it only once.
- Save to first enabled profile, with "User base settings" as fallback
- Display note if any profiles are enabled
- Highlight options for all enabled profiles
- Add tooltip to options showing which profile will be updated
- Update tests to remove deleted functionality
In `picard/ui/profileeditor.py`:
- Remove unnecessary `deepcopy()`.
- Use `set.difference()` for comparing key sets.
- Add explanation for creating missing key in
`get_settings_for_profile()` method.
- Move `settings` declaration into `if` section where it is used.
- Remove unnecessary `.keys()` call when creating set of profile IDs.
- Use `set.difference()` for comparing setting sets.
- Remove unnecessary `self.loading` check.
- Add class constant for which QTreeWidgetItem column to use.
In test/test_profiles.py:
- Use keys defined in `SettingConfigSection` class.