Commit Graph

38508 Commits

Author SHA1 Message Date
6fecc5899e Fix compiler warnings. 2012-12-15 08:16:36 -05:00
5e2efa2cd4 Finish adding symbols to libeutil API docs. 2012-12-15 08:16:36 -05:00
63cff95414 Use cancellable mutex for photo and address book lookups in mailer 2012-12-14 17:46:36 +01:00
edf538b50b Revert part of the previous commit, EMailUISession::alert_user()
Keep the EMailUISession define its own implementation of
CamelSession::alert_user(). It's good for couple reasons:
a) dialog is shown above Evolution itself (has parent)
b) info dialogs are shown in an alert bar
2012-12-14 15:49:46 +01:00
da874077be Implement and use CamelSession::trust_prompt() 2012-12-14 15:30:29 +01:00
486db3bfa7 Assamese translation updated 2012-12-14 19:15:25 +05:30
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
011747a5f7 e_mail_migrate(): Remove directory creation code.
e_shell_backend_get_data_dir() already creates the user's data directory
for mail, so there's no need to try and create the directory again.

This eliminates the only usage of the E_SHELL_MIGRATE_ERROR domain.
2012-12-13 17:28:32 -05:00
09f2b14cf1 e-util: Remove e-passwords-win32.c.
Let's not drag the old password keyfile along any further.
2012-12-13 15:16:23 -05:00
330d0d3f2f e-misc-util.h: Fix quoted #includes. 2012-12-13 14:38:05 -05:00
090dba7fcb e-util: Add xpm icons to EXTRA_DIST. 2012-12-13 14:13:10 -05:00
f493dcfcc4 help/fr/fr.po: Escape '<' and '>' to silence gettext warning 2012-12-13 13:18:04 -05:00
9459276c82 Update POTFILES.in. 2012-12-12 18:01:02 -05:00
c076bed61f es translation: Escape markup so gettext does not complain 2012-12-12 23:48:59 +01:00
69c9a9eb90 fr translation: Escape and fix markup so gettext does not complain 2012-12-12 23:47:06 +01:00
5f176a3ed9 de translation: Escape markup so gettext does not complain 2012-12-12 23:44:46 +01: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
b61331ed03 Assamese translation updated 2012-12-12 13:27:51 +05:30
8a1eb1f24e Use the same certificate-viewer as the trust-prompt from eds
This way it'll be possible to copy whole files if change in one
of them will be done. A real code reuse, rather than copy, would be
ideal, but the trust-prompt is just a module for evolution-user-prompter.
2012-12-11 19:48:07 +01:00
c180436841 Do not restore certificate manager columns when all are hidden
If all columns are hidden, then header of a GtkTreeView is also hidden,
thus there is no way to show columns again, which results in empty
Certificate Preferences view.
2012-12-11 09:38:46 +01:00
0aa0eb22c1 Bug #689966 - MDN bar shown in Sent folder
The previous commit broke MDN send, which this one fixes.
2012-12-10 20:54:50 +01:00
05a2e72079 Bug #689966 - MDN bar shown in Sent folder 2012-12-10 19:51:29 +01:00
c5eb6afc0f Bug #579315 - Identify filter names in filtering errors 2012-12-10 14:51:02 +01:00
dd73ca42e7 Assamese translation updated 2012-12-10 17:16:46 +05:30
6ac43140b7 Updated Tamil translation 2012-12-09 13:43:07 +05:30
8972ef83f6 backup-restore: Remove references to ~/.camel_certs.
The path is now XDG-base-dir compliant: ~/.local/share/camel_certs
2012-12-08 18:34:15 -05:00
bf30024dd7 Teach EMailExtensionRegistry to find extensions.
Now we have the following extension points in the GType hierarchy:

   E_TYPE_MAIL_FORMATTER_EXTENSION
   E_TYPE_MAIL_FORMATTER_PRINT_EXTENSION
   E_TYPE_MAIL_FORMATTER_QUOTE_EXTENSION
   E_TYPE_MAIL_PARSER_EXTENSION

A registry just needs to be given one of these extension points, and it
can use g_type_children() to find and load all registered extensions.

This eliminates e-mail-format-extensions.[ch] as well as the dynamic
loaders I added a few commits back.  Dynamically loaded extensions are
now easier to register, at the cost of internal extensions being a tad
more cumbersome to register.  Fair tradeoff, imo.

This also makes e_mail_extension_registry_add_extension() a private
function used only by e_mail_formatter_extension_registry_load() and
e_mail_parser_extension_registry_load().
2012-12-07 17:40:28 -05:00
7c656866a2 EMailExtensionRegistry cleanups. 2012-12-07 17:40:25 -05:00
cbb7786a8f Add EMailFormatterQuoteExtension.
This is an abstract base type for formatter extensions which are
intended only for use by EMailFormatterQuote.
2012-12-07 15:22:13 -05:00
076006fae2 Add EMailFormatterPrintExtension.
This is an abstract base type for formatter extensions which are
intended only for use by EMailFormatterPrint.
2012-12-07 15:14:31 -05:00
a5b217e49e e_mail_parser_base_init(): Register internal extension types. 2012-12-07 15:07:14 -05:00
e1a4e302ae e_mail_formatter_quote_base_init(): Register internal extension types. 2012-12-07 15:02:23 -05:00
fef414503a e_mail_formatter_print_base_init(): Register internal extension types. 2012-12-07 14:58:09 -05:00
e6305c503a e_mail_formatter_base_init(): Register internal extension types. 2012-12-07 14:55:20 -05:00
42d4cff57b EMailFormatterContext: Clearify the flags type.
We define the header flags as an enum type, so use the enum type.
2012-12-07 14:01:05 -05:00
49adb381a6 EMailFormatterHeader: Clarify the flags type.
We define the header flags as an enum type, so use the enum type.
2012-12-07 14:01:05 -05:00
aad321aa73 Remove unused EMP_EXTENSION_GET_PARSER macro. 2012-12-07 14:01:05 -05:00
c10235e6dd EMailParserExtension: Convert get_flags() to an enum field.
Of the parser extensions that override get_flags(), they all return a
fixed set of flags.  So we don't need an instance of the extension to
obtain its flags.  Just make it an EMailParserExtensionFlags field in
the class structure.
2012-12-07 14:01:05 -05:00
cab6eac8f1 Convert EMailParserExtension to an abstract class.
With the previous changes, all parser extensions derive from
GObjectClass and implement the EMailParserExtensionInterface.

Simplify things further by making EMailParserExtension an abstract base
class so parser extensions are now just direct subclasses and need not
bother with implementing GObject interfaces.
2012-12-07 14:01:05 -05:00
3ae26f0ab6 Remove unused EMF_EXTENSION_GET_FORMATTER macro. 2012-12-07 14:01:05 -05:00
d9699159f0 EMailFormatterExtension: Convert get_description() to a string field.
Of the formatter extensions that provide a description, they all use a
static string.  So we don't need an instance of the extension to obtain
its description.  Just make it a string field in the class structure.
2012-12-07 14:01:05 -05:00
7885426c2b EMailFormatterExtension: Convert get_display_name() to a string field.
Of the formatter extensions that provide a display name, they all use a
static string.  So we don't need an instance of the extension to obtain
its display name.  Just make it a string field in the class structure.
2012-12-07 14:01:05 -05:00
00b211b0f5 Convert EMailFormatterExtension to an abstract class.
With the previous changes, all formatter extensions derive from
GObjectClass and implement the EMailFormatterExtensionInterface.

Simplify things further by making EMailFormatterExtension an abstract
base class so formatter extensions are now just direct subclasses and
need not bother with implementing GObject interfaces.
2012-12-07 14:01:05 -05:00
54455ca1ad Remove EMailExtension.
EMailExtension is now too trivial to keep as a standalone interface.
Add a 'mime_types' string array to the EMailFormatterExtension and
EMailFormatterParser interface structs.

Alter e_mail_extension_registry_add_extension() to take a 'mime_types'
string array and the GType of an extension to instantiate, rather than
the extension instance directly.

e_mail_extension_registry_remove_extension() is no longer needed.
2012-12-07 14:01:05 -05:00
9d34f72ec1 EMailExtension: Replace mime_types() method with a string array.
In all implementations for EMailExtension, the MIME type list is a
static string array -- with the single exception of the text-highlight
module, where the MIME type list is dynamically assembled once.

Replace the mime_types() method with a "mime_types" string array in the
EMailExtensionInterface struct.  Then the list of MIME types supported
by the class implementing the EMailExtensionInterface can be obtained
without requiring an instance of the class.
2012-12-07 14:01:04 -05:00
3924dc759d EMailParserExtension: Collect EMailParts in a GQueue.
Collect EMailParts in a GQueue provided to the EMailParserExtension,
and change the return type of parse() to gboolean to indicate whether
the given CamelMimePart was handled (even if no parts were added to
the output GQueue).

This avoids the awkward corner case of a parser extension returning a
linked list node with a NULL data member to indicate the CamelMimePart
was handled but no EMailParts produced, and then having to watch out
for that NULL data member corner case throughout the application.

Also, remove the GCancellable parameter from e_mail_parser_error() and
e_mail_parser_wrap_as_attachment() since neither function blocks.
2012-12-07 14:01:04 -05:00
4611bcd7b8 EMailParserExtension cleanups. 2012-12-07 14:01:04 -05:00
91822b42dc Make EMailPartList thread-safe.
Exposing data members in the public struct is unwise, especially when
EMailPartList is used from multiple threads.  Instead keep the members
private and provide a set of thread-safe functions to manipulate them.
2012-12-07 14:01:04 -05:00