Camel: Save folder settings into ~/.config
Currently camel saves folder settings beside folder data, which is fine for local accounts, but remote accounts like IMAP store its data into ~/.cache, which is meant as a disposable location, which can be deleted any time. As it is now, when users delete the ~/.cache for the IMAP account he/she also lost the changes on the folder, like whether to save its content for offline use and such from the folder Properties (as shown in Evolution).
I've no clear idea how to do it, but it would be probably better to not use binary files as it is now. Some management around accounts removed would be also good to have, thus it won't waste space on the disk. Ideally make it in some reusable way, or even through a new CamelSession API, in which case Evolution could store it using SQLite, rather than GKeyFile. Or even the CamelSession would store into SQLite (through CamelDB) on its own, which would allow even more reusability.
Needs to figure out how to store:
<CamelService::uid, CamelFolder::full-name> ~> list of <key, value> pairs
effectively (the first pair is basically folder-uri, but it's known to Evolution only (+/- filters).
Also should check whether it's only about CamelFolder, or whether more CamelObject-s define their own saveable GObject properties.