GConf's default value for the version key is an empty string, which
causes "sscanf (string, "%d.%d.%d", major, minor, micro)" to fail and
leaves the major/minor/micro variables uninitialized.
Instead, initialize the up front before reading the GConf key.
I pushed a few EShell features up to GtkApplication for GTK+ 3.2,
so we can now trim off the redundancies in EShell.
1) GtkApplication has a new "window-added" signal which replaces
EShell's own "window-created" signal.
2) GtkApplication has a new "window-removed" signal which replaces
EShell's own "window-destroyed" signal.
3) gtk_application_get_windows() now returns a list of windows sorted
by most recently focused, replacing e_shell_get_watched_windows().
4) GtkApplication now provides enough hooks to subclasses that we can
remove e_shell_watch_window() and call gtk_application_add_window()
directly.
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.
Work around GLib API churn with regard to registering UNIX signal
callbacks on the main loop. GLib >= 2.29.5 calls the function one
thing, GLib >= 2.29.19 calls it another.
A signal handler connected to an EFilterRule was passing a GtkDialog
instance as the closure. Eventually, the GtkDialog is destroyed but
we never disconnected the signal handler.
Work around GLib API churn with regard to registering UNIX signal
callbacks on the main loop. GLib >= 2.29.5 calls the function one
thing, GLib >= 2.29.19 calls it another.
A signal handler connected to an EFilterRule was passing a GtkDialog
instance as the closure. Eventually, the GtkDialog is destroyed but
we never disconnected the signal handler.
This is primarily for the GNOME Shell calendar.
If, for example, "evolution --component calendar" is invoked and there
is already an Evolution window opened to the calendar view, present that
window. Otherwise open a new Evolution window to the requested view.
Same behavior applies to all requested views.
Opens a window to manage categories without having to edit a contact or
appointment. Not available in the Mail shell view since it doesn't use
categories.
This plugin was for developers, but no one uses it anymore. Plus the
only profiling hooks left in Evolution were in the MessageList widget,
which performs fine. There's better ways to collect profiling data
these days anyway (sysprof, systemtap, etc.).
With lockdown settings available through GSettings, widgets can handle
lockdown integration themselves without having to use EShellSettings.
Also fixed a few places where printing or save-to-disk actions were
either not properly wired up or not responding to lockdown settings,
but much more work needs done. Attachments, for example, are not
honoring the disable-save-to-disk setting at all.
This too requires the recently-added gsettings-desktop-schemas
dependency.