Commit Graph

31 Commits

Author SHA1 Message Date
8b245838de Add e_activity_cancel().
Convenience function cancels the activity's GCancellable.
2013-04-25 11:42:04 -04:00
3bf02daa08 Reimplement EPhotoCache to use EPhotoSource.
Reimplement EPhotoCache to delegate the actual photo fetching to
EPhotoSources.  When a photo is requested for a given email address,
all available EPhotoSources are dispatched concurrently and a photo
input stream is selected from the result set.

This also utilizes EDataCapture, which is affixed to the returned
GInputStream to capture and cache photo data for an email address.

New functions:

    e_photo_cache_add_photo_source()
    e_photo_cache_list_photo_sources()
    e_photo_cache_remove_photo_source()
    e_photo_cache_add_photo()

Renamed functions:

    e_photo_cache_remove() --> e_photo_cache_remove_photo()
2013-04-23 20:52:20 -04:00
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
ea7e2ab44b Update libeutil API docs. 2013-04-23 15:21:03 -04:00
b83a9cd5bb EWebView: Use a GQueue to track highlight strings.
This also removes an unused function e_web_view_get_highlights() which
was returning a GSList.
2013-04-07 12:24:47 -04:00
4d3d4aaab9 Remove e_preferences_window_filter_page().
No longer used.
2013-03-31 12:10:54 -04:00
0494d4c3c6 Remove EUIManager.
No longer needed.  Use GtkUIManager directly.
2013-03-31 12:10:54 -04:00
0125093ff7 Add e_load_ui_manager_definition().
Loads a UI definition into a GtkUIManager from Evolution's UI directory.

We actually had this function for a brief period during the 2.29 series,
before Express Mode was a thing.  I'm reviving the function to take over
for EUIManager.
2013-03-31 12:10:54 -04:00
494c98c764 Add weekday conversion functions.
e_weekday_to_tm_wday()
e_weekday_from_tm_wday()
2013-03-08 12:39:27 -05:00
9fa7358f74 Add more weekday arithmetic functions.
These aren't as efficient as possible, but are as clear as possible.

New functions:

    e_weekday_add_days()
    e_weekday_subtract_days()
    e_weekday_get_days_between()
2013-03-07 15:50:41 -05:00
2b80037420 Rename functions in previous commit.
Changed my mind... got more to add.

e_get_next_weekday() -> e_weekday_get_next()
e_get_prev_weekday() -> e_weekday_get_prev()
2013-03-07 15:50:41 -05:00
5e9bdd4509 Add e_get_next_weekday() and e_get_prev_weekday().
These just cycle over the GDateWeekday enum.

Trivial functions, but they help make loops a little easier to read.
2013-03-07 10:00:31 -05:00
8c903b9320 e-util-enums.h: Add EDateWeekday enum.
This enum type is intentionally compatible with GDateWeekday.
It exists only because GLib does not provide a GEnumClass for
GDateWeekday.  If that ever changes, this enum can go away.
2013-03-06 10:20:45 -05:00
7dcd0b4499 Update API documentation. 2013-03-02 19:45:09 -05:00
4ff90f2bfd Use EClientComboBox where appropriate.
Basically any place where we use both EClient and ESourceComboBox.
2013-03-01 18:16:07 -05: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
5488c24819 Add e_client_selector_ref_cached_client_by_iter(). 2013-02-20 16:35:58 -05:00
f8ff0f0fde Add e_source_selector_ref_source_by_iter(). 2013-02-20 16:35:58 -05:00
a955be9b70 ESourceSelector: Make source_selector_update_row() public.
Gonna need to call this from the EClientSelector subclass.
2013-02-20 16:35:58 -05:00
214d832ccd Add e_client_selector_is_backend_dead().
Returns TRUE if an EClient instance for the given source and the value
of ESourceSelector's "extension-name" property was recently discarded
after having emitted a "backend-died" signal, and a replacement EClient
instance has not yet been created.
2013-02-20 16:35:58 -05:00
2c195f2266 Add e_client_cache_is_backend_dead().
Returns TRUE if an EClient instance for the given source and extension
name was recently discarded after having emitted a "backend-died" signal,
and a replacement EClient instance has not yet been created.
2013-02-20 16:35:58 -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
79f9fe7f77 e-config: Remove unused functions.
e_config_add_skip_check()
e_config_class_remove_factory()
e_config_create_window()
e_config_page_get()
e_config_page_next()
e_config_page_prev()
e_config_set_page_is_finish()

Also remove E_CONFIG_ASSISTANT and all the assistant support therein.
2012-12-16 18:07:54 -05:00
f1ca58d40a e-passwords: Remove unused functions.
e_passwords_cancel()
e_passwords_clear_passwords()
e_passwords_forget_passwords()
e_passwords_shutdown()
2012-12-16 16:14:06 -05:00
5e2efa2cd4 Finish adding symbols to libeutil API docs. 2012-12-15 08:16:36 -05:00
bed06d9ec3 Move the contact map widgets to addressbook/gui/widgets.
Move the supporting widgets for the contact maps feature alongside
EABContactDisplay.  Removing them from libeutil helps isolate our usage
of libchamplain so it's not imposed on the entire application, and even
3rd party software.  That libchamplain is an optional dependency only
further complicates the matter.

Ideally I'd like to somehow isolate this feature in an extension module,
but we currently lack sufficient hooks for such an extension.  So this
arrangement will have to suffice for now.
2012-12-12 14:33:47 -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