Evolution module preferences

Hi! I am developing an extension module for Evolution as described here:

I need to store some module-specific settings. Where would be a good location for them? I guess somewhere under ~/.local/share/evolution/.

Also, do you have any suggestions on handling config files? I can use JSON parser, but perhaps there is some configuration framework I can use instead? Thanks!

I need to store some module-specific settings. Where would be a good
location for them? I guess somewhere under ~/.local/share/evolution/.

Hi,

config files may go under ~/.config/evolution/… (check what
subdifretories it has). You can use e_get_user_config_dir() to get the
root directory for the configs.

Also, do you have any suggestions on handling config files? I can use
JSON parser, but perhaps there is some configuration framework I can
use instead?

Right, using the config/data files is for some large config options.
You miss notifications of changes and many other good features. You
better use a GSettings object from glib2, and possibly some bindings on
the properties the settings reflects (the e_binding_bind_property()
group of functions), especially if the options are small, like strings,
bools, and such.

Check for example the Bogofilter module:

with its GSettings scheme definition:

Bye,
Milan

Hi,
I just updated the example module section here:

It includes the changes needed for the upcoming 3.55.1, aka 3.56.x
stable series.

There is a large API change, Evolution does not use GtkUIManager
anymore. The way this works now is simpler too. The changes are mostly
about changing action callback prototypes and registering them
differently. Read the above referenced section for some hints how to
check what the changes should be done.

While possible, I did not want to create the example module with the
conditional compilation - different code paths for different Evolution
versions. It would make it hard to read.

Bye,
Milan