Commit Graph

217 Commits

Author SHA1 Message Date
2a39437ee9 Adapt to single-include E-D-S libraries. 2012-06-03 15:14:03 -04:00
ae21bb5e66 Adapt libeutil to the new ESource API. 2012-06-02 23:00:39 -04:00
d571c56260 Bug #674272 - Contacts preview differs with mailer running and not
This splits the giant EMailRequest to individual EFileRequest, EStockRequest, EHTTPRequest and EMailRequest,
making the first two available globally from e-utils, the othe two are loaded only with mailer,
since no other component uses them.
2012-04-23 08:40:20 +02:00
147687c60f Use libevolution-utils all over evolution. 2012-03-03 09:02:34 -05:00
449e05f1b2 Move EAlert* and e-xml-utils to libevolution-utils. 2012-03-03 09:02:33 -05:00
1600064022 Bug #591436 - Add -avoid-version to LDFLAGS 2012-02-15 11:22:21 +01:00
61ae36351b Introduce libemail-engine and libemail-utils.
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.
2012-01-18 23:48:47 -05:00
d491963f5c Remove GConfBridge.
No longer needed.
2011-11-27 18:03:45 -06:00
1f38f4d92c Simplify library dependency flags.
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.
2011-10-04 22:27:14 -04:00
53bc6ffc53 The EExtension framework is now in libebackend.
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.
2011-09-26 09:45:55 -04:00
aa3b6c57a5 Fix enum generation problems in glib-gen.mak.
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.
2011-08-27 08:07:52 -04:00
ea8326df3a Remove the profiler plugin.
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.).
2011-03-28 16:12:42 -04:00
753c60fc67 Drop backward-compatibility cruft. 2011-01-25 10:28:26 -05:00
c881b5bc5e Simplify EActivity.
With unintrusive error dialogs gone, we can cut some unnecessary bits
out of EActivity.

I'm also adding a new enum property called "state", which is one of:

    E_ACTIVITY_RUNNING
    E_ACTIVITY_WAITING
    E_ACTIVITY_CANCELLED
    E_ACTIVITY_COMPLETED

The state of an activity must be explicitly changed.  In particular,
when the user cancels an activity the state should be set only after
confirming the operation has been cancelled and not when cancellation
is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when
the GCancellable emits "cancelled").  EActivityBar and EActivityProxy
widgets have been updated to make this distinction clearer in the UI.

E_ACTIVITY_WAITING will be used when activities have to be queued and
dispatched in sequence, which I haven't written yet.
2010-10-22 14:21:22 -04:00
35e55a8d6e Send errors to an EAlertSink instead of the task bar.
This marks the end of unintrusive error dialogs, which were too
unintrusive.  We now show errors directly in the main window using
the EAlert / EAlertSink framework.
2010-10-18 12:32:37 -04:00
1e663aa132 Replace EBinding with GBinding.
GObject now does property bindings itself.

Requires GLib >= 2.26.
2010-10-14 07:12:52 -04:00
0e4c54eddc Messin around with EAlerts.
Trying out a new interface called EAlertSink.  The idea is to centralize
how errors are shown to the user.  A GtkWindow subclass would implement
the EAlertSink interface, which consists of a single method:

    void  (*submit_alert)  (EAlertSink *alert_sink, EAlert *alert);

The subclass has complete control over what to do with the EAlert,
although I imagine we'll wind up implementing various alert-handling
policies as standalone widgets such as EAlertDialog.  I'd like to try
an EAlertInfoBar.

Code that would otherwise display an error dialog itself would instead
pass the EAlert to an appropriate EAlertSink and be done with it.

Nothing is final yet.  Still hacking on EAlert trying to find an API
that feels right for these use cases.
2010-09-29 21:11:44 -04:00
333897772f Remove gnome-pilot integration.
It just doesn't belong in Evolution anymore.  We don't support syncing
with more modern devices -- see Conduits or SyncEvolution for that -- so
it does not make sense for older model Palm Pilot PDAs to be the lone
exception.

I have repackaged the Evolution-Data-Server conduit modules to be
provided by gnome-pilot itself in bug #619315.  This should provide
eqivalent Palm Pilot syncing functionality; it's just being moved to
gnome-pilot.

This completely severs our dependency on deprecated GNOME 2.x libraries
which were still being dragged in by way of gnome-pilot dependencies.
It was also interfereing with our bundling of libgnomecanvas.
2010-06-15 14:45:55 -04:00
970662db34 More GTK3 preparation.
This uses the new gtk_assistant_commit() I had added to GTK+ for our
EImportAssistant progress page.
2010-06-04 08:34:15 -04:00
74857dc136 Initial implementation of setting evolution as default mail client and mailto handler. 2010-05-13 15:41:08 +02:00
1a5e1620d3 Relocating EVOLUTION_BINDIR which will be used in plugin
setting Evolution comme defaut mail application on windows.
2010-04-23 14:20:47 +02:00
26240e0b18 Generate ChangeLog files for tarball releases.
Remove old ChangeLog files that predate our switch to git.
2010-04-02 18:18:33 -04:00
aac92ccc52 Move EPoolv back to Evolution from libedataserver.
MessageList is the only thing still using it.
EMemPool is gone now, so it uses CamelMemPool instead (same thing).
2010-03-31 16:34:06 -04:00
797acc2445 Drop support for migrating from Evolution < 2.0.
There's too much ancient, crufty code there that we can't realistically
support anymore.  A workaround for those poor users still on 1.x is to
upgrade to some 2.x release first, then upgrade again to 3.x.  An error
dialog explaining this will be shown at startup.
2010-03-29 19:04:00 -04:00
84feab41bb Introduce a simple extension system for objects.
This introduces a simple means of extending Evolution objects.

Any GObject subclass wishing to be extensible need only call

   g_type_add_interface_static (type, E_TYPE_EXTENSIBLE, NULL);

when registering its GType, and then at some point during initialization
call e_extensible_load_extensions() to load extensions for that subclass.

Extensions are implemented by subclassing EExtension, setting the GType
being extended in EExtensionClass, and making sure its own GType gets
registered at startup.  This usually done while loading a GTypeModule.

e_extension_get_extensible() provides extensions access to the object
being extended.
2010-03-20 11:49:46 -04:00
d7494c8f16 Shell and UI manager cleanups.
Replace the EVO_EXPRESS environment variable with an --express command
line option.  (Note, this adds a new translatable string for --help.)

Add an EUIManager class with an "express-mode" property and custom load
functions that use our new "express" preprocessor.  This replaces the UI
manager functions in e-utils.c.

(Also going to see if I can get GTK+ to add an "add_ui_from_string"
method to GtkUIManagerClass that we can override.  Then we could just
call gtk_ui_manager_add_ui_from_string() and the preprocessor would
automatically do its thing and chain up.)

Add an "express-mode" read-only GObject property to EShell.

Add e_shell_configure_ui_manager() to e-shell-utils.c.  For now this
just creates a one-way property binding:

    EShell:express-mode -> EUIManager:express-mode

Call this immediately after e_ui_manager_new().  (EUIManager can't do
this itself because it lives too low in the dependency hierarchy and
doesn't know about EShell.)
2010-03-13 20:53:17 -05:00
043eabadba Don't relocate inexisting EVOLUTION_CATEGORY_ICONS path 2010-03-11 16:31:09 +01:00
c69e242109 More relocation cleanup EVOLUTION_ICONSDIR -> EVOLUTION_ICONDIR 2010-03-11 15:57:20 +01:00
a674eab94d Update win32 directory relocation and some consistency cleanup 2010-03-10 12:18:12 +01:00
9a8fa88b6a Move some ESource-plugin common code to e-plugin-util.h/.c 2010-02-04 12:55:42 +01:00
59bd81691d Compiler and linker flag cleanups. 2009-12-27 14:32:39 -05:00
735496ba52 Install e-util/gconf-bridge.h. 2009-12-17 08:10:18 -05:00
f20528381a Add EAlertDialog
This is a proper implementation of the various alert dialog helper functions.
It is a proper subclass of GtkDialog, etc.
2009-12-07 12:25:23 -06:00
c2ee0afbc8 Rename EError to EAlert to match general use better
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
2009-11-30 13:33:04 -06:00
054c088169 Bug 589153 - Use GtkBuilder instead of libglade 2009-11-16 19:33:32 -05:00
c12e485e47 Simplify clipboard handling in addressbook. 2009-11-12 10:44:52 -05:00
5beeca1f80 Kill e-cursor(s) (both of them). 2009-11-09 21:19:20 -05:00
aa66a17e40 Test drive EIOActivity with a simple asynchronous function.
Rename e-fsutils to e-file-utils.  This is where we'll add asynchronous
functions for common file I/O operations with EActivity integration.

Start with e_file_replace_contents_async() (and corresponding finish()
function).  This is a simple wrapper for g_file_replace_contents_async()
which also returns an EActivity.  It replaces e_write_file_uri().

Also redesign EIOActivity to -contain- a GAsyncResult rather than
implement the interface for itself.  This is easier for now but I may
change my mind again when I figure out how to tie centralized error
reporting into the EActivity framework.
2009-11-07 14:01:46 -05:00
b2dd9c1535 Prototype EIOActivity, which integrates with GIO.
EIOActivity implements the GAsyncResult interface, and the idea is to
use this instead of GSimpleAsyncResult.  In addition to the features
offered by EActivity, it also contains GAsyncReadyCallback information
and a GCancellable.

  - Calling e_activity_cancel() triggers the GCancellable.

  - Calling e_activity_complete() triggers the GAsyncReadyCallback.

Functions that follow GIO's asynchronous pattern should return an
EIOActivity (cast as an EActivity) instead of 'void', so it can be
handed to an EShellBackend or whatever else dispatches activities.

This is not yet feature-complete.  It's missing API for storing result
values and GErrors.  I don't have a complete picture of the final API in
my head yet, so I'll copy things over from GSimpleAsyncResult as needed.
2009-11-07 14:01:45 -05:00
a1f990ef82 Move EActivity and subclasses to e-util.
Planning to write some asynchronous utility functions in e-util that
return EActivity objects.
2009-11-07 14:01:45 -05:00
f62728b55e Bug 596848 - Use per-target CPPFLAGS in automake files 2009-09-30 23:37:50 -04:00
cbf5c62ee8 Bug 217066 - Rename folders directly inside folder list 2009-09-12 16:46:43 -05:00
b5725a7a07 Kill EPopup. 2009-08-22 20:20:08 -04:00
5d49895665 Kill EMenu. 2009-08-11 22:20:09 -04:00
50302d03b3 Bug #205137 - Configurable date formats in components 2009-08-11 15:44:27 -04:00
6d9e836a6f Merge branch 'master' into kill-bonobo 2009-07-14 13:38:12 -04:00
3bd46ea849 Bug 588277 – Unnecessary special-purpose configure flag 2009-07-13 14:48:06 -04:00
e013e10cc5 Kill EConfigListener. 2009-07-02 23:14:44 -04:00
f9049cded4 Kill EConfigListener. 2009-07-02 19:13:15 -04:00
a1082f0e45 Kill the last GtkOptionMenu instances.
Wrote a new widget (ECharsetComboBox) to replace e-charset-picker.c.
The widget provides a "charset" string property that allows us to bind
to GConf keys (via EShellSettings).  Moved e_charset_add_radio_actions()
to e-util/e-charset.c.  Updated Glade files, #include lines, etc.
2009-07-02 14:02:55 -04:00