This tells EShell where to look for EModules. Best practice is to
define the directory in your CPPFLAGS and then pass it to EShell at
instantiation time, like so:
Makefile.am:
evolution_CPPFLAGS = \
-DMODULEDIR=\""$(moduledir)"\"
...
main.c:
shell = g_object_new (
E_TYPE_SHELL, "module-directory", MODULEDIR, ...);
So Anjal can override what it needs to for its own purpose.
Also makes the EShellWindow design a little cleaner.
Methods added:
GtkWidget * (*construct_menubar) (EShellWindow *shell_window);
GtkWidget * (*construct_toolbar) (EShellWindow *shell_window);
GtkWidget * (*construct_sidebar) (EShellWindow *shell_window);
GtkWidget * (*construct_content) (EShellWindow *shell_window);
GtkWidget * (*construct_taskbar) (EShellWindow *shell_window);
EShellView * (*create_shell_view) (EShellWindow *shell_window,
const gchar *view_name);
Also added some new GObject properties to help decouple actions from
internal EShellWindow widgets created by these methods:
EShellWindow:sidebar-visible
EShellWindow:switcher-visible
EShellWindow:taskbar-visible
EShellWindow:toolbar-visible
The EError mechanism is used both for error dialogs as well as basic alerts or
user prompts, so we should give it a more general name which matches this use.
This patch also cleans up a few includes of e-alert.h (formerly e-error.h) that
were not actually being used.
https://bugzilla.gnome.org/show_bug.cgi?id=602963
Previously, Most things reported errors directly. This is evidenced by the fact
that e_error_new() returns a GtkDialog*. This patch attempts to de-couple
error-reporting from the UI. It introduces a simple stuct (EError) that
describes the error which is returned much like a GError by passing it as an
output parameter to a function.
e_error_new() now returns a newly-allocated EError*, but the function signature
has changed to no longer accept a parent GtkWidget, so the API change should be
detected at compile time. I kept the convenience dialog functions, but renamed
them slightly:
- e_error_new() -> e_error_new_dialog()
- e_error_run() -> e_error_run_dialog()
Build is currently broken because nothing has been ported to use this new API
yet.
https://bugzilla.gnome.org/show_bug.cgi?id=602963
Disabling desktop integration features must be explicit.
If experimental plugins are enabled and unless --disable-contacts-map is
given, configuration will fail if champlain-gtk or geoclue is missing.
Alarms triggered at the start of an appointment have a positive offset
(of zero) in their struct ECalComponentAlarmTrigger. This means they
are ignored in the current code (which only accepts negative
offsets). Add a special case for positive offsets of zero. (Palm
devices can not handle alarm triggers with a positive offset.)
This is step two of the new --force-shutdown implementation.
Read Evolution's PID from ~/.evolution/.running, then invoke Evolution
with --quit to ask it to shutdown gracefully, then wait up to X seconds
for notification of process termination. If the process still has not
terminated, -then- we will kill it.
Add method pointers to EShellClass for all the EShell signals.
Also rework my previous --quit corner case workaround: we'll want to do
the full shutdown procedure after all, since the backends have already
spun up.