pub fn change(
config_path: &Path,
key: &str,
shown: Option<&SettingValue>,
value: &SettingValue,
) -> Result<(), String>Expand description
A setting changed from the window: value as the window sends it, from
shown, the value its row showed. A list (words, days off, hours, senders,
routes…) is the window’s change applied to the list as the files hold it
now (rebase): what the window took out taken out, what it added added,
the rest as it is, so that an element another device’s change brought in
meanwhile is never taken out. Read, rebased and written under the lock of
the file the setting is kept in, which the sharing takes too. Without
shown (a caller that just read the files), value as it is.