Commit Graph

524 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
e17db00f41 Add e_shell_view_get_size_group().
Returns a GtkSizeGroup used to keep the search bar and sidebar banner
vertically aligned.
2013-04-08 23:21:54 -04:00
a74acbf197 EShellSearchbar: Remove more Express Mode leftovers.
Remove the following properties and corresponding get/set functions:

    "express-mode"
    "filter-visible"
    "labels-visible"
    "search-visible"
2013-04-08 22:36:20 -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
85fac87782 Remove e_shell_hide_widgets_for_express_mode().
No longer needed.
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
440ea8e3a0 Remove e_shell_configure_ui_manager().
No longer needed.
2013-03-31 12:10:54 -04:00
7c63fc5f31 Remove e_shell_set_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
7c38b34f20 Remove e_shell_get_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
6a5767cbd1 EShell: Remove "meego-mode" property.
The property is always FALSE.

Remove both the property itself and any logic predicated on it.
2013-03-31 12:10:54 -04:00
f8f89b0bfd Remove e_shell_adapt_window_size().
Its preconditions are never TRUE, and is therefore a no-op function.
2013-03-31 12:10:54 -04:00
50b164637f EShell: Remove "small-screen-mode" property.
The property is always FALSE.

Remove both the property itself and any logic predicated on it.
2013-03-31 12:10:54 -04:00
ff76ff2a2a Remove e_shell_detect_meego().
No longer used.
2013-03-31 12:10:53 -04:00
7ec9a50ee0 Remove EShellSettings.
EShellSettings predates GSettings and is no longer necessary.

GSettings allows binding GObject properties to GSettings keys,
with optional mapping functions.  That fulfills the purpose of
EShellSettings.
2013-03-17 08:49:12 -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
208d779b00 EShell: Add a read-only "client-cache" property.
Give EShell its own EClientCache.  This should be used throughout
Evolution, wherever an EClient is needed.

New functions:

    e_shell_get_client_cache()
2013-02-16 18:57:09 -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
6b53dd8da1 libeshell documentation cleanups. 2012-12-13 17:28:32 -05:00
71c7a293ef Remove unused E_SHELL_MIGRATE_ERROR domain. 2012-12-13 17:28:32 -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
4afc8d39bf Bug 676141 - Use GtkApplication for session management
As of GTK+ 3.4, GtkApplication now provides session management
support similar to EggSMClient.  So drop our copy of EggSMClient.
2012-10-16 09:38:21 -04:00
a84e08b2fa Remove some obsolete documentation.
These date back to Evolution 1.x era or perhaps earlier.
2012-08-25 07:24:49 -04:00
94daae3dba Remove the last remaining usage of GConf 2012-06-15 09:04:08 +02:00
a11639fcfc Adapt API documentation to the new ESource API. 2012-06-02 23:00:43 -04:00
5c03d975b4 Add missing linker flags. 2012-01-19 09:07:41 -05:00