Commit Graph

275 Commits

Author SHA1 Message Date
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
2a39437ee9 Adapt to single-include E-D-S libraries. 2012-06-03 15:14:03 -04:00
3449e5fcc7 Adapt mail to the new ESource API. 2012-06-02 23:00:40 -04:00
b91c6da187 Bug #246581 - Replies in Sent folder goes to myself 2012-05-02 13:59:21 +02:00
299521f02c Whitespace cleanup.
Replace 8-space indentation with tab characters, and various other
automated cleanups.
2012-04-01 23:15:38 -04:00
9ed9a99bad EMFormat: Add "session" as a constructor property.
Pass it in instead of digging it out of EShellSettings.
2012-03-31 15:48:01 -04:00
6d2c382788 WebKit port - port formatter and mail module 2012-03-28 18:38:25 +02: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
9963a852a1 Show composer window on "Continue editing" 2012-03-02 12:38:51 +01:00
78cd0d0a73 Bug #617557 - Can lost message after send failed 2012-03-01 09:43:47 +01:00
23f5773903 Coding style and whitespace cleanup. 2012-02-20 10:04:25 -05:00
3dc8b0b522 Bug #651221 - "Edit as New Message" always uses default From: address 2012-01-30 14:33:50 +01:00
59e6e599ba Coding style and whitespace cleanup. 2012-01-18 23:48:48 -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
88505f694e Make em_utils_generate_account_hash() private.
Only used by em_utils_get_reply_all(), and the hash table it returns is
not safe for general-purpose use.  Make it a static function and rename
it generate_recipient_hash().
2012-01-05 09:08:10 -05:00
0cd98f1a85 Bug #661087 - Add ability to remove localized "Re:" prefixes in subject 2011-12-22 16:38:51 +01:00
987fb91d5e Reduce diff noise with account-mgmt branch. 2011-12-19 22:27:39 -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
2e60b6a4a2 Tweak GSettings schemas.
- Don't use the term "eplugin" for modules.

- Use the term "plugin" instead of "eplugin" for plugins.

- Split SpamAssassin settings into a separate schema.
2011-11-22 20:42:56 -05:00
00e4952799 Merge branch 'master' into wip/gsettings
Conflicts:
	mail/e-mail-paned-view.c
2011-11-22 14:52:33 -05:00
c75f58d01b Fix compiler warnings. 2011-11-22 14:34:11 -05:00
c4fedc0494 Split MDN handling into a module. 2011-11-22 00:12:36 -05:00
900d019a03 Merge branch 'master' into wip/gsettings 2011-11-17 15:55:48 +01:00
78a2a77d10 Bug #662914 - Reply to gnupg signed mails should be signed 2011-11-14 15:24:33 +01:00
9744056c5e More GSettings migration 2011-10-26 17:54:50 +02:00
6b104de653 Merge branch 'master' into wip/gsettings 2011-10-26 11:57:13 +02:00
56ebfe2f3f Adapt to CamelNetworkSettings changes. 2011-10-24 12:03:54 -04:00
3b32549c69 And yet more GSettings migration on the mail component 2011-10-19 18:24:07 +02:00
5efdc804e4 Make e_utils_prompt_user and callers use GSettings keys 2011-10-14 13:46:33 +02: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
c520043a09 Bug #660224 - Assertion failure when forwarding message 2011-09-27 11:15:12 +02:00
f615000f6c EMFolderTreeModel: Don't use parameters in "get_default" functions.
Drop EMFolderTreeModel's "session" property now that it has a "backend"
property and call em_folder_tree_model_set_backend() where we used to
call em_folder_tree_model_set_session().

The session can still be obtained through e_mail_backend_get_session().
2011-09-26 11:45:11 -04:00
e0548d2570 Bug #351025 - Make the order of the mail accounts configurable 2011-09-26 11:45:59 +02:00
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
f67a5f3d42 Miscellaneous cleanups.
Reducing diff noise with the account-mgmt branch.

Trying to erode our dependency on EAccount as much as possible, or at
least isolate its usage, to make things easier for me on the branch.
2011-08-30 20:35:11 -04:00
dd57574c04 Use new CamelService:display-name property.
Simplify, simplify...
2011-08-17 22:27:46 -04:00
f59681796d Coding style and whitespace cleanup. 2011-08-13 11:27:51 -04:00
daa63adeb7 EMFolderSelector: Add a "model" construct-only property. 2011-08-10 00:14:32 -04:00
005a26de45 Avoid camel_stream_printf().
camel_stream_printf() is next on the chopping block.

Use g_strdup_printf() or a GString to construct a formatted string in
memory, pass it to camel_stream_write() in one go, and then check for
errors (unless it's a memory stream).
2011-07-05 14:40:10 -04:00
17127fbee9 Prefer g_seekable_seek() over camel_stream_reset().
When a stream is obviously a file or memory stream (both of which
implement the GSeekable interface), use g_seekable_seek() instead of
camel_stream_reset().

This is helping me discover if it's safe to remove camel_stream_reset().
We want to eventually move to GIO streams, which have no reset method.
2011-07-05 11:31:01 -04:00
f5794eff36 Bug #530335 - Allow Reply to selected address only 2011-06-14 14:26:30 +02:00
cbbb6f2200 Fix some uninitialized variable usage. 2011-06-08 20:22:47 -04:00
f014ab82c8 Coding style and whitespace cleanups. 2011-06-08 13:14:48 -04:00
7428fc93d5 Miscellaneous mail cleanups. 2011-06-08 13:14:47 -04:00
d610f43bf6 Bug #651684 - Creates a copy of message in Outbox instead of replacing 2011-06-02 12:43:20 +02:00
c6d8a03039 Let EMFolderSelector create its own EMFolderTree.
Also, minimize the EMFolderSelector API by removing frivolous wrapper
functions and unused functions.
2011-05-24 00:17:34 -04: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
cb97c2dc8f Coding style and whitespace cleanup. 2011-05-21 17:56:06 -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