Commit Graph

363 Commits

Author SHA1 Message Date
Matthew Barnes ef929f2697 e_mail_store_foreach(): Take an EMailSession parameter.
Use camel_session_list_services() instead of the internal store table.
The store table serves little purpose nowadays and could probably be
removed.  I'll look into that later.
2011-08-17 22:27:46 -04:00
Matthew Barnes dd57574c04 Use new CamelService:display-name property.
Simplify, simplify...
2011-08-17 22:27:46 -04:00
Matthew Barnes f3648e1cb5 Adapt to new CamelSubscribable interface. 2011-08-15 19:07:13 -04:00
Milan Crha 4296c1b0c5 Bug #655254 - Cropped Junk settings text 2011-08-15 20:42:21 +02:00
Matthew Barnes f59681796d Coding style and whitespace cleanup. 2011-08-13 11:27:51 -04:00
Milan Crha 0e264ffcfb Bug #655957 - Current account / all accounts search changes column 2011-08-12 09:43:22 +02:00
Milan Crha 23b38d5c45 Bug #656133 - Mail-local not initialized when adding/editing account 2011-08-11 14:19:51 +02:00
Matthew Barnes 15376b6657 EConfig: Broadcast abort/commit events by way of signals.
Remove the clumsy abortfunc and commitfunc callback arguments from
e_config_add_items().
2011-08-10 16:13:08 -04:00
Milan Crha 8c351c101f Do not leak memory on each mail folder change 2011-08-01 15:09:10 +02:00
Milan Crha 167e91e823 Bug #655430 - Forgotten EMailJunkOptions type init for mail-config.ui 2011-07-27 19:51:28 +02:00
Matthew Barnes 8dfd4278a7 Convert junk filtering EPlugins to EExtensions.
We now have a proper junk mail filtering API.  All junk filtering
extensions must subclass EMailJunkFilter for user preferences and
availability testing, and implement the CamelJunkFilter interface
for the actual junk filtering and learning operations.

The bogofilter module should be feature-equivalent to its former
EPlugin.  The spamassassin module is far more complex.  It's nearly
feature-equivalent to its former EPlugin, but I ditched the spamd
respawning code since it seemed unnecessary for a mail client to
have to deal with.  If there's a huge outcry from users about it
I'll reluctantly put it back, but I don't expect one.

This gets us a step closer to killing off EConfig, and eventually
the EPlugin framework itself.
2011-07-13 22:46:26 -04:00
Matthew Barnes 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
Milan Crha 7c6aa944e2 Bug #650671 - Service connect/disconnect not cancelled properly 2011-07-01 20:01:45 +02:00
Matthew Barnes 1b1697630c Bug 652958 - Evolution Account Assistant jumps steps
The GTK+ patch in bug 653705 is also required for the Account Assistant
to work properly under the new GtkAssistant design in GTK+ 3.1.

This commit only deals with sidebar ordering issues.
2011-06-30 14:19:59 -04:00
Rathin f5794eff36 Bug #530335 - Allow Reply to selected address only 2011-06-14 14:26:30 +02:00
Matthew Barnes f014ab82c8 Coding style and whitespace cleanups. 2011-06-08 13:14:48 -04:00
Matt McCutchen 1f13f312d2 Bug #614274 - Labeling many messages is very slow 2011-06-02 19:30:12 +02:00
Matthew Barnes 3fc0de639b EMSubscriptionEditor: Manage stores, not accounts.
We'll query the accounts to get display names for the combo box,
but that's it.  Use CamelStores instead.
2011-05-28 22:18:36 -04:00
Matthew Barnes 4fe800226b EMailShellView: Avoid e_get_subscribable_accounts().
Use em_folder_tree_model_list_stores() to determine whether to enable
the folder subscription editor.
2011-05-28 18:25:07 -04:00
Milan Crha 756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
Matthew Barnes a9dff2f33a Use em_folder_tree_get_selected() in places to simplify code.
There were a few places where we were accessing the folder tree model
directly to get the selected store + folder name, or were asking for the
selected URI only to parse back into its store + folder name components.
2011-05-24 19:41:59 -04:00
Matthew Barnes ff9fcffeca EMFolderTree: Add an EAlertSink property.
Now EMFolderTree has access to both an EShellBackend and an EAlertSink;
everything it needs to build and submit EActivity instances.
2011-05-24 11:02:59 -04:00
Matthew Barnes 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
Matthew Barnes cb97c2dc8f Coding style and whitespace cleanup. 2011-05-21 17:56:06 -04:00
Matthew Barnes 9aa668aa6b Bug 650587 - Hide Search Folder actions when Search Folders are disabled
Add an action group for Search Folders to EMailReader.  The action
group's visibility is bound to the "mail-enable-search-folders" setting,
so that menu items related to Search Folders are hidden when Search
Folders are disabled in GConf.

Affected menu items are:

   Edit -> Search Folders
   Message -> Create Rule -> Search Folder from Subject...
   Message -> Create Rule -> Search Folder from Sender...
   Message -> Create Rule -> Search Folder from Recipients...
   Message -> Create Rule -> Search Folder from Mailing List...
   Search -> Create Search Folder From Search...
2011-05-20 19:05:55 -04:00
Matthew Barnes 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
Matthew Barnes 86c9c4d793 Remove mail_remove_folder().
Use e_mail_folder_remove() instead.
2011-05-20 13:14:53 -04:00
Matthew Barnes b3b917365f Remove mail_store_prepare_offline().
Use e_mail_store_prepare_for_offline() instead.
2011-05-17 19:51:11 -04:00
Matthew Barnes 766c0b0b55 Bug 650088 - Cannot send message from Contacts view
This starts up the EMailShellBackend whenever a new composer window is
created.  Normally this happens when switching to the Mail shell view,
but if trying to send a message from a different shell view before the
Mail shell view is ever activated, the mail accounts were not getting
loaded and sending or saving the message to a mail folder would fail.
2011-05-16 14:19:16 -04:00
Milan Crha d20e186ce7 Bug #601541 - Add 'Copy Image' Option On Inline Email Images 2011-05-16 13:21:22 +02:00
Milan Crha c5765a097f GN-bug #649935 - Check folder validity before asking for its URI 2011-05-13 14:05:11 +02:00
Matthew Barnes 7af2865b7f EMailShellView: Remove some unused utility functions.
I guess I meant to move these to EMailReader but forgot to delete the
original versions.
2011-05-12 19:31:35 -04:00
Matthew Barnes e270dfde64 Keep forgetting to add prefixes to EAlert tags. 2011-05-12 19:26:34 -04:00
Matthew Barnes b663d51f1b Miscellaneous cleanups. 2011-05-12 19:00:09 -04:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 1c68dd8339 Reimplement em_folder_properties_show().
Now uses camel_store_get_folder() and camel_folder_get_quota_info(),
although I need to rewrite the quota function to be asynchronous.
2011-05-12 00:45:47 -04:00
Matthew Barnes 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
Matthew Barnes e5760e065f Reimplement em_utils_forward_messages().
Now uses e_mail_folder_build_attachment() and
e_mail_folder_get_multiple_messages().
2011-05-11 12:58:53 -04:00
Matthew Barnes 8a186c3588 Coding style cleanups. 2011-05-08 13:37:20 -04:00
Matthew Barnes 4cfb84c573 Whitespace and coding style cleanups. 2011-05-07 18:48:38 -04:00
Matthew Barnes c7b455de89 Adapt to CamelFolder:name -> display-name. 2011-05-07 11:15:51 -04:00
Matthew Barnes 6d44258b85 em_folder_utils_create_folder(): Change function parameters.
Take a folder URI string instead of a CamelFolderInfo, and swap places
with the GtkWindow parameter.
2011-05-06 12:34:33 -04:00
Matthew Barnes 308f972f08 em_folder_utils_copy_folder(): Change function parameter.
Take a folder URI string instead of a CamelFolderInfo.
2011-05-06 12:23:21 -04:00
Matthew Barnes 974924a8b8 Drop support for command-line 'email://' URIs.
I have no idea what this was used for, but it looks way too convoluted
to be useful anymore.
2011-05-05 15:20:22 -04:00
Matthew Barnes a9c9f0be5f Remove e_mail_reader_get_folder_uri().
Instead call e_mail_reader_get_folder() and, if you really need to,
generate the folder URI with e_mail_folder_uri_from_folder().
2011-05-03 14:42:29 -04:00
Matthew Barnes 06411bdbbb Remove 'from_uri' params from e-msg-composer-utils.c.
Pass CamelFolder objects instead, which are already available at almost
every call site.
2011-05-03 13:42:15 -04:00
Matthew Barnes b8a932ae1e Fix compiler warnings.
Mostly dead assignments.
2011-05-03 10:45:46 -04:00
Matthew Barnes c3b983d6e1 Drop 'folder_uri' param from em_utils_folder_is_outbox(). 2011-05-03 09:42:06 -04:00
Matthew Barnes b9f932b1b8 Drop 'folder_uri' param from em_utils_folder_is_sent(). 2011-05-03 09:42:06 -04:00