Commit Graph

229 Commits

Author SHA1 Message Date
Matthew Barnes 4f7b4d81e7 Reimplement the main toolbar's "prefer-item" feature.
This fixes a bug in the old implementation where the application could
crash after a second shell window was created and destroyed, because a
signal handler with the destroyed shell window as the closure was left
connected.

But moreover this simplifies the implementation by using a property
binding plus transform function instead of juggling signal handlers,
and also adds code comments where things get a little tricky.

Removed (now unused) functions:

  e_shell_window_get_toolbar_new_prefer_item
  e_shell_window_set_toolbar_new_prefer_item
2013-06-10 15:47:13 -04:00
Matthew Barnes ab42fdc8c7 Add e_source_selector_update_all_rows().
Calls e_source_selector_update_row() for each ESource being shown
by the ESourceSelector, according to the "extension-name" property.
2013-06-10 12:46:22 -04:00
Matthew Barnes 7b8a8a6a24 EMailFormatter: Remove the header API.
Use the EMailPartHeaders API instead.
2013-06-08 00:25:15 -04:00
Matthew Barnes 64388b6b82 Add e_mail_part_headers_ref_print_model().
Returns a GtkTreeModel of header names and values and visibility flags,
built from the CamelMimeMessage.  The tree model rows can be reordered
and toggled prior to printing.

Also add e_mail_part_headers_is_default() as a handy helper.
2013-06-08 00:25:15 -04:00
Matthew Barnes c5313b3614 EMailPartHeaders: Add a "default-headers" property.
This will replace the headers API in EMailFormatter.  Need a more
permanent place for headers since EMailFormatter is too disposable.

Also add an ESettingsMailPartHeaders class, which binds the new property
to the "show-headers" setting with a suitable mapping function to filter
out disabled header names.
2013-06-08 00:25:11 -04:00
Matthew Barnes 6be4901bae EMailPart: Add "part-list" property.
This is a weak reference to the EMailPartList to which the EMailPart
has been added.  The property is set by e_mail_part_list_add_part().

New functions:

  e_mail_part_ref_part_list()
  e_mail_part_set_part_list()
2013-06-05 16:38:31 -04:00
Matthew Barnes 552952d2cc Define GEnumClass types for mail formatter/parser enums. 2013-06-04 13:10:02 -04:00
Matthew Barnes f925dac7c4 Add EAutomaticActionPolicy enum.
To have a proper GEnumClass registered for ask/always/never choices.
2013-06-04 13:08:45 -04:00
Matthew Barnes 8d7a5a1b87 Add e_composer_header_table_ref_source().
Convenience function that works like e_source_registry_ref_source(),
but spares the caller from digging out the ESourceRegistry from the
header table.
2013-06-01 15:24:37 -04:00
Matthew Barnes 76af649676 EComposerHeaderTable: Remove "shell" property.
No longer needed.

Removed functions:

  e_composer_header_table_get_shell()
2013-06-01 15:24:03 -04:00
Matthew Barnes 0dc9aae35b EComposeHeaderTable: Replace "registry" property with "client-cache".
The ESourceRegistry can still be obtained from the EClientCache:

   client_cache = e_composer_header_table_ref_client_cache (table);
   registry = e_client_cache_ref_registry (client_cache);

   ...

   g_object_unref (client_cache);
   g_object_unref (registry);

Added functions:

  e_composer_header_table_ref_client_cache()

Removed functions:

  e_composer_header_table_get_registry()
2013-06-01 15:24:00 -04:00
Matthew Barnes af21783349 Remove e_shell_view_[un]block_update_actions().
No longer needed.
2013-06-01 06:33:22 -04:00
Matthew Barnes 9bfe38c419 Rename libcomposer to libevolution-mail-composer.
To make Evolution's shared libraries more consistent.

Also add an evolution-mail-composer documentation module.
2013-05-28 09:56:30 -04:00
Matthew Barnes 04aa0fba1f Rename libemformat to libevolution-mail-formatter.
To make Evolution's shared libraries more consistent.

Also add an evolution-mail-formatter documentation module.
2013-05-28 09:56:30 -04:00
Matthew Barnes 70a9fcdf9c Rename libeshell to libevolution-shell.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-shell.
2013-05-28 09:56:30 -04:00
Matthew Barnes 6c9a3243c9 Rename libeutil to libevolution-util.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-util.
2013-05-28 09:56:30 -04:00
Matthew Barnes e21da33e6b Update libeutil API documentation. 2013-05-26 10:41:40 -04:00
Matthew Barnes 8b245838de Add e_activity_cancel().
Convenience function cancels the activity's GCancellable.
2013-04-25 11:42:04 -04:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes ea7e2ab44b Update libeutil API docs. 2013-04-23 15:21:03 -04:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 4d3d4aaab9 Remove e_preferences_window_filter_page().
No longer used.
2013-03-31 12:10:54 -04:00
Matthew Barnes 85fac87782 Remove e_shell_hide_widgets_for_express_mode().
No longer needed.
2013-03-31 12:10:54 -04:00
Matthew Barnes 0494d4c3c6 Remove EUIManager.
No longer needed.  Use GtkUIManager directly.
2013-03-31 12:10:54 -04:00
Matthew Barnes 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
Matthew Barnes 440ea8e3a0 Remove e_shell_configure_ui_manager().
No longer needed.
2013-03-31 12:10:54 -04:00
Matthew Barnes 7c63fc5f31 Remove e_shell_set_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
Matthew Barnes 7c38b34f20 Remove e_shell_get_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes ff76ff2a2a Remove e_shell_detect_meego().
No longer used.
2013-03-31 12:10:53 -04:00
Matthew Barnes 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
Matthew Barnes 494c98c764 Add weekday conversion functions.
e_weekday_to_tm_wday()
e_weekday_from_tm_wday()
2013-03-08 12:39:27 -05:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 7dcd0b4499 Update API documentation. 2013-03-02 19:45:09 -05:00
Matthew Barnes 4ff90f2bfd Use EClientComboBox where appropriate.
Basically any place where we use both EClient and ESourceComboBox.
2013-03-01 18:16:07 -05:00
Matthew Barnes 977be20ced Add EClientComboBox. 2013-03-01 18:09:36 -05:00
Matthew Barnes 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
Matthew Barnes 5488c24819 Add e_client_selector_ref_cached_client_by_iter(). 2013-02-20 16:35:58 -05:00
Matthew Barnes f8ff0f0fde Add e_source_selector_ref_source_by_iter(). 2013-02-20 16:35:58 -05:00
Matthew Barnes 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
Matthew Barnes 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