Commit Graph

10 Commits

Author SHA1 Message Date
5991b04ac5 Add EPhotoSource interface.
EPhotoSource is an interface used to extend the functionality of
EPhotoCache.  You can add an object implementing EPhotoSource to an
EPhotoCache with e_photo_cache_add_photo_source() and remove it with
e_photo_cache_remove_photo_source().  When EPhotoCache needs a photo
for an email address, it will invoke e_photo_source_get_photo() on all
available EPhotoSource objects simultaneously and select one photo.
2013-04-23 20:06:01 -04:00
c64602b397 Add EDataCapture.
EDataCapture is a GConverter that captures data until the end of the
input data is seen, then emits a "finished" signal with the captured
data in a GBytes instance.

When used with GConverterInputStream or GConverterOutputStream, an
EDataCapture can discreetly capture stream content for the purpose
of caching.
2013-04-23 20:06:01 -04:00
0494d4c3c6 Remove EUIManager.
No longer needed.  Use GtkUIManager directly.
2013-03-31 12:10:54 -04:00
977be20ced Add EClientComboBox. 2013-03-01 18:09:36 -05:00
c03ac67511 Add EPhotoCache.
Caches contact photos by email address.

Replaces the disastrous implementation in e-mail-utils.c.
2013-02-27 10:59:54 -05:00
2c471d1291 Add EClientSelector.
EClientSelector extends the functionality of ESourceSelector by
utilizing an EClientCache to display status information about the
backends associated with the displayed data sources.

(No backend status is displayed just yet, but that's the plan.)
2013-02-18 13:48:11 -05:00
cefa5edf7f Add EClientCache.
New class to help reduce code duplication and centralize some EClient
handling policies.

Benefits:

- EClient instances can be shared across the entire application.

- Centralized rebroadcasting of "backend-died" and "backend-error"
  signals emitted from cached EClient instances.

- Automatic cache invalidation when backends crash.  The EClient
  is discarded, and a new instance is created on the next request.
2013-02-16 18:57:08 -05:00
2c9ed5c04a Remove e-client-utils.[ch]. 2013-01-30 09:35:27 -05:00
5e2efa2cd4 Finish adding symbols to libeutil API docs. 2012-12-15 08:16:36 -05:00
d09d8de870 Consolidate base utility libraries into libeutil.
Evolution consists of entirely too many small utility libraries, which
increases linking and loading time, places a burden on higher layers of
the application (e.g. modules) which has to remember to link to all the
small in-tree utility libraries, and makes it difficult to generate API
documentation for these utility libraries in one Gtk-Doc module.

Merge the following utility libraries under the umbrella of libeutil,
and enforce a single-include policy on libeutil so we can reorganize
the files as desired without disrupting its pseudo-public API.

   libemail-utils/libemail-utils.la
   libevolution-utils/libevolution-utils.la
   filter/libfilter.la
   widgets/e-timezone-dialog/libetimezonedialog.la
   widgets/menus/libmenus.la
   widgets/misc/libemiscwidgets.la
   widgets/table/libetable.la
   widgets/text/libetext.la

This also merges libedataserverui from the Evolution-Data-Server module,
since Evolution is its only consumer nowadays, and I'd like to make some
improvements to those APIs without concern for backward-compatibility.

And finally, start a Gtk-Doc module for libeutil.  It's going to be a
project just getting all the symbols _listed_ much less _documented_.
But the skeletal structure is in place and I'm off to a good start.
2012-12-12 14:33:43 -05:00