Introduce a ConfigFile class to improve config management.
ConfigFile is a GLib.KeyFile-like class (and is backed by a KeyFile) that nonetheless provides convenient a high-level API for getting and setting grouped config values and asynchronous loading and saving. * src/engine/util/util-config-file.vala: New ConfigFile class. * src/engine/api/geary-service-information.vala (ServiceInformation): Require ConfigFile groups rather than KeyFile instances for loading and saving. Update subclasses and unit tests. * src/client/accounts/account-manager.vala (AccountManager): Move generic account key consts here from Config. Instead of using KeyFile directly, use ConfigFile groups for loading and saving settings. Rename load and save methods to be a bit more consistent with the class's role, and make save_account() throw its errors so they can be reported to the user. Update call sites. * src/client/accounts/local-service-information.vala (LocalServiceInformation): Move service-specific config key consts here, use new ConfigFile groups for loading and saving. * src/engine/api/geary-config.vala: Removed, all config consts have been moved to the classes using them and KeyFile convenience methods subsumed by ConfigFile.
This commit is contained in:
parent
f45357a50e
commit
4e0950f9bc
13 changed files with 568 additions and 320 deletions
|
|
@ -31,6 +31,7 @@ int main(string[] args) {
|
|||
// Depends on ConversationTest and ConversationSetTest passing
|
||||
engine.add_suite(new Geary.App.ConversationMonitorTest().get_suite());
|
||||
engine.add_suite(new Geary.Ascii.Test().get_suite());
|
||||
engine.add_suite(new Geary.ConfigFileTest().get_suite());
|
||||
engine.add_suite(new Geary.Db.DatabaseTest().get_suite());
|
||||
engine.add_suite(new Geary.Db.VersionedDatabaseTest().get_suite());
|
||||
engine.add_suite(new Geary.HTML.UtilTest().get_suite());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue