Commit Graph

101 Commits

Author SHA1 Message Date
94daae3dba Remove the last remaining usage of GConf 2012-06-15 09:04:08 +02:00
c4071b0a1d Fix displayed message headers
The new formatter was ignoring selected headers, always displaying
only From, To, Subject and Date (default headers).

Handling of the currently displayed headers has been moved to
EMailConfigFormatHTML extension, because it is related to
configuration of EMailFormatter, rather then EMailReader.
2012-06-08 17:08:00 +02:00
a601031be2 Bug #300677 - vFolder rules shouldn't refer to the Unmatched folder 2012-06-08 15:20:07 +02:00
5b8340563c Mail formatter rewrite
All mail-parsing and formatting code has been moved to em-format.
Parsing is handeled by EMailParser class, formatting by EMailFormatter.
Both classes have registry which hold extensions - simple classes
that do actual parsing and formatting. Each supported mime-type
has it's own parser and formatter extension class.
2012-06-06 15:27:19 +02:00
3449e5fcc7 Adapt mail to the new ESource API. 2012-06-02 23:00:40 -04:00
93178424f2 Bug #673946 - Cannot delete search folders 2012-05-31 11:50:44 +02:00
de8c6c1bdc Bug #673514 - Crash in WebKit after printing 2012-05-16 19:05:38 +02:00
8d48eaf598 Bug #669674 - EMailBrowser doesn't copy search settings 2012-05-14 15:24:41 +02:00
a110f6d7f1 Bug #674282 - Don't crash on reply with empty selection 2012-04-18 11:17:39 +03:00
299521f02c Whitespace cleanup.
Replace 8-space indentation with tab characters, and various other
automated cleanups.
2012-04-01 23:15:38 -04:00
954b3f1cc4 Bug #670445 - Folder deletion in offline shows strange behavior
Providing a check for online backend before proceeding for the operation.
2012-03-29 12:15:06 +05:30
6d2c382788 WebKit port - port formatter and mail module 2012-03-28 18:38:25 +02:00
18593a0fb9 Move vfolders to libemail-engine and rest as mail-vfolder-ui. It all works and
the daemon can now start the vfolder storage without bothering much with the
UI.
2012-03-03 09:02:34 -05:00
14f82dde34 Move EAlert* and e-xml-utils references from other part of the code to libevolution-utils. 2012-03-03 09:02:33 -05:00
23f5773903 Coding style and whitespace cleanup. 2012-02-20 10:04:25 -05:00
61ae36351b Introduce libemail-engine and libemail-utils.
These libraries are bound for E-D-S so they live at the lowest layer of
Evolution for now -- even libeutil can link to them (but please don't).

This is the first step toward moving mail handing to a D-Bus service.
2012-01-18 23:48:47 -05:00
a9cfed5938 Avoid passing EMailBackend as much as possible.
More mail API churn... reversing some previous API decisions.

I've made some key API changes to EMailSession on the account-mgmt
branch which should allow for this, and will hopefully also benefit
the "email-factory" branch.

EMailBackend barely needs to exist anymore, except as the owner of
EMailSession.

For several low-level functions, we replace its EMailBackend parameter
with EMailSession and EAlertSink parameters; the latter so it can still
pass user alerts up the chain.
2011-12-16 10:58:54 -05:00
7c0c40f833 Reorder accounts by drag-and-drop.
This implements https://bugzilla.gnome.org/show_bug.cgi?id=663527#c3.

Account reordering is now done by drag-and-drop instead of up/down
buttons.

Turned out to be a wee bit more complicated than I initially thought.

This scraps EAccountManager and EAccountTreeView and replaces them with
new classes centered around EMailAccountStore, which EMailSession owns.

EMailAccountStore is the model behind the account list in Preferences.
The folder tree model now uses it to sort its own top-level rows using
gtk_tree_path_compare().  It also broadcasts account operations through
signals so we don't have to rely so heavily on EAccountList signals,
since EAccountList is going away soon.

Also as part of this work, the e-mail-local.h and e-mail-store.h APIs
have been merged into EMailSession and MailFolderCache.
2011-12-10 21:34:19 -05:00
aecfbc5813 Add EMailReader:message-seen signal.
Replaces e_mail_reader_mark_as_read().
2011-11-22 00:12:36 -05:00
e2b6ff7a6c Miscellaneous cleanups from the account-mgmt branch.
Reducing diff noise so I can see important changes easier when comparing
branches.  A few API changes, but nothing that affects functionality.
2011-09-27 09:31:13 -04:00
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
f59681796d Coding style and whitespace cleanup. 2011-08-13 11:27:51 -04:00
6a5552c00e Cannot reply to message without preview panel enabled 2011-08-08 09:00:28 +02:00
f5794eff36 Bug #530335 - Allow Reply to selected address only 2011-06-14 14:26:30 +02:00
756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
9692758dc5 EMFolderTree: Store an EMailBackend instead of an EMailSession.
All this so EMFolderTree can submit EActivity instances for async ops.
You can obtain an EMailSession from an EMailBackend, but not vice versa.

Creates lots of pretty ripples in the mail code, but ultimately reduces
complexity.  So it's a code cleanup of sorts.
2011-05-23 21:50:50 -04:00
7333f12087 EMailReader: Support multiple action groups.
Use an enum type to request different action groups.  For now we just
have E_MAIL_READER_ACTION_GROUP_STANDARD.  EMailReader implementations
should map the enum value to an appropriate GtkActionGroup.
2011-05-20 19:05:55 -04:00
86c9c4d793 Remove mail_remove_folder().
Use e_mail_folder_remove() instead.
2011-05-20 13:14:53 -04:00
f0a011f941 Remove mail_save_messages().
Use e_mail_folder_save_messages() instead.
2011-05-18 09:25:59 -04:00
b61d2c08d7 Remove mail_remove_attachments().
Use e_mail_folder_remove_attachments() instead.
2011-05-16 22:43:46 -04:00
e270dfde64 Keep forgetting to add prefixes to EAlert tags. 2011-05-12 19:26:34 -04:00
b663d51f1b Miscellaneous cleanups. 2011-05-12 19:00:09 -04:00
8ff0684fa2 em_format_html_print_message(): Require a CamelMimeMessage.
Let EMailReader fetch the CamelMimeMessage itself, handle errors, and
then pass it off to EMFormatHTMLPrint.  This also eliminates the need
for em_format_html_print_raw_message().
2011-05-12 18:24:42 -04:00
6ae1b3fe3c em_utils_reply_to_message(): Require a CamelMimeMessage.
No more fetching a message itself.  Oh, and stop unreffing the message.
Those kinds of insane semantics are what lead to crashes.
2011-05-12 18:24:42 -04:00
366dacefa0 Add e_mail_reader_new_activity().
Configuring and submitting an EActivity for every mail operation is
getting tedious.  This function helps reduce boilerplate code by:

  * Creating a new EActivity instance.

  * Installing an EAlertSink using e_mail_reader_get_alert_sink().

  * Installing a GCancellable (which is really a CamelOperation).

  * Submitting the activity via e_shell_backend_add_activity().

I'm considering adding a similar function (or class method) for
EShellView.  Not sure yet...
2011-05-12 18:24:41 -04:00
c082e58434 Reimplement e_mail_reader_create_vfolder_from_selected().
Now uses camel_folder_get_message().
2011-05-12 15:53:00 -04:00
ec8e4c3ff8 Reimplement e_mail_reader_create_vfolder_from_selected().
Now uses camel_folder_get_message().
2011-05-12 15:10:00 -04:00
54774628cf Reimplement e_mail_reader_create_filter_from_selected().
Now uses camel_folder_get_message().
2011-05-12 15:10:00 -04:00
ba8f1f78f4 Add e_activity_handle_cancellation().
Convenience function for use in GAsyncReadyCallback functions.

This acknowledges the cancellation, so that the activity's description
changes from "(cancelling)" to "(cancelled)" and the description appears
crossed out in the UI for a moment before disappearing.
2011-05-11 12:59:29 -04:00
648eacf49f Reimplement em_utils_edit_messages().
Now uses e_mail_folder_get_multiple_messages().
2011-05-11 12:59:06 -04:00
63a7f4d1cc EMailReader: Reimplement "mail-remove-duplicates" action.
Now uses e_mail_folder_find_duplicate_messages().
2011-05-11 12:58:42 -04:00
8a186c3588 Coding style cleanups. 2011-05-08 13:37:20 -04:00
405c6782b6 Random little coding style cleanups. 2011-05-05 15:20:23 -04:00
76280e456d Build vfolder rules with CamelFolders instead of folder URIs. 2011-05-03 14:07:50 -04:00
b8a932ae1e Fix compiler warnings.
Mostly dead assignments.
2011-05-03 10:45:46 -04:00
c3b983d6e1 Drop 'folder_uri' param from em_utils_folder_is_outbox(). 2011-05-03 09:42:06 -04:00
b9f932b1b8 Drop 'folder_uri' param from em_utils_folder_is_sent(). 2011-05-03 09:42:06 -04:00
c694ca567b Drop 'folder_uri' param from em_utils_folder_is_templates(). 2011-05-03 09:42:06 -04:00
9e0f0f529f Drop 'folder_uri' param from em_utils_folder_is_drafts(). 2011-05-03 09:42:06 -04:00
ae28ea4621 EMailShellView: Open the selected folder ourselves.
This one's a little involved:

 - EMailShellView now obtains a CamelFolder itself in response to
   EMFolderTree::folder-selected signals.  Uses EActivity to do so.

 - Revise EMFolderTree::folder-selected signal arguments to be more
   useful: emit a CamelStore object instead of a folder URI.

 - Also revise EMFolderTree::folder-activiated signal arguments the
   same way while we're at it.

 - Remove the "folder_uri" argument from e_mail_reader_set_folder().
   If you have a CamelFolder object you can obtain the URI string by
   calling camel_folder_get_uri().
2011-05-02 21:01:48 -04:00