These libraries are bound for E-D-S so they live at the lowest layer of
Evolution for now -- even libeutil can link to them (but please don't).
This is the first step toward moving mail handing to a D-Bus service.
This is a regression from commit 4511799098, which removes the default
"Dismiss" action from each EAlert, but the EAlertDialog was using that
button to allow users to close it.
This implements https://bugzilla.gnome.org/show_bug.cgi?id=663527#c3.
Account reordering is now done by drag-and-drop instead of up/down
buttons.
Turned out to be a wee bit more complicated than I initially thought.
This scraps EAccountManager and EAccountTreeView and replaces them with
new classes centered around EMailAccountStore, which EMailSession owns.
EMailAccountStore is the model behind the account list in Preferences.
The folder tree model now uses it to sort its own top-level rows using
gtk_tree_path_compare(). It also broadcasts account operations through
signals so we don't have to rely so heavily on EAccountList signals,
since EAccountList is going away soon.
Also as part of this work, the e-mail-local.h and e-mail-store.h APIs
have been merged into EMailSession and MailFolderCache.
Removes: e_binding_transform_enum_value_to_nick()
e_binding_transform_enum_nick_to_value()
Those functions now live in libedataserver/e-data-server-util.h,
which e-util.h already includes.
Slightly more efficient and convenient than:
g_simple_async_result_set_from_error (simple, error);
g_error_free (error);
One less GError to copy and destroy.
We have a confusing array of nearly-identical CFLAGS/LIBS definitions in
configure.ac. Time to simplify. Instead let's just have one definition
that includes all the libraries provided by Evolution-Data-Server (incl.
Camel). That, in combination with GNOME_PLATFORM, gives us most of what
we need for compliation and linking, and we can sprinkle definitions for
additional library dependencies in Makefile.am's as needed.
The EModule, EExtensible and EExtension classes as well as the
e_type_traverse() function have been moved to Evolution-Data-Server's
libebackend library to replace e-data-server-module.c.
Now Evolution-Data-Server modules use the same framework as Evolution.
Don't use pattern rules like %-enumtypes.h anymore because it matches
installed header files like camel-enumtypes.h, so you get very strange
things happening during the build like:
.../camel/camel-enumtypes.h: e-util-enums.h
glib-mkenums ... $^ > $@
when e-util-enums.h has a newer timestamp than camel-enumtypes.h.
Instead, we'll use another variable name -- glib_enum_output -- to
replace the %-enumtypes pattern rules like so:
$(glib_enum_output).h: $(glib_enum_headers)
glib-mkenums ... $^ > $@
$(glib_enum_output).c: $(glib_enum_headers)
glib-mkenums ... $^ > $@
Also use $(AM_V_GEN) to get cleaner looking output while building.