Я хочу упростить обработку настроек для моих пользователей, сделав их более сложными для приложения. У меня есть большое количество настроек, которые являются общими для исследовательской группы, и они хранятся на уровне QSettings::SystemScope
, некоторые меньше на QSettings::UserScope
и всего несколько в области проекта (в подкаталоге пользователя). Все эти настройки являются подмножеством одних и тех же возможных пар ключ-значение.
Программа запускается со считывания настройки в QSettings::SystemScope
, затем считывает настройки в QSettings::UserScope
и перезаписывает общесистемные настройки, если необходимости; затем читает настройки всего проекта и перезаписывает настройки, если это необходимо. Это можно сделать в readSettings()
. Пользователь также может изменить некоторые настройки в интерактивном режиме. После выхода я хочу сохранить последние настройки в файле проекта.
Однако я хочу сохранить только те, которые были изменены (чтобы избежать большого количества неизмененных пар ключ-значение). Есть ли какой-нибудь простой способ сделать это (в дополнение к этому я веду список интерактивно измененных значений или перечитываю и сравниваю все настройки в конце)