Commit Graph

363 Commits

Author SHA1 Message Date
34be64ac52 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-09-14 14:08:51 +02:00
9b59286ea4 Use new CamelService:display-name property.
Simplify, simplify...
2011-09-14 14:08:51 +02:00
08e62014fe Adapt to new CamelSubscribable interface. 2011-09-14 14:08:50 +02:00
b3b0cf89b1 Bug #655254 - Cropped Junk settings text 2011-09-14 14:08:50 +02:00
ae9db3ed23 Coding style and whitespace cleanup. 2011-09-14 14:08:48 +02:00
3005365a0d Bug #655957 - Current account / all accounts search changes column 2011-09-14 14:08:48 +02:00
df8108a6a7 Bug #656133 - Mail-local not initialized when adding/editing account 2011-09-14 14:08:48 +02:00
911d9f8c6b EConfig: Broadcast abort/commit events by way of signals.
Remove the clumsy abortfunc and commitfunc callback arguments from
e_config_add_items().
2011-09-14 14:08:48 +02:00
32907e802f Do not leak memory on each mail folder change 2011-09-14 14:08:41 +02:00
d58c862efb Bug #655430 - Forgotten EMailJunkOptions type init for mail-config.ui 2011-09-14 14:08:40 +02:00
c238fbfd15 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-09-14 14:08:36 +02:00
c72aba8f7c 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-09-14 14:08:34 +02:00
a57097559c Bug #650671 - Service connect/disconnect not cancelled properly 2011-09-14 14:08:33 +02:00
51e9cc6057 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-09-14 14:08:33 +02:00
075e48579b Bug #530335 - Allow Reply to selected address only 2011-06-29 18:42:27 +02:00
e7954c3f25 Coding style and whitespace cleanups. 2011-06-29 18:42:26 +02:00
4f9f9222e2 Bug #614274 - Labeling many messages is very slow 2011-06-29 18:42:25 +02:00
b7a86ea957 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-06-29 18:42:21 +02:00
0c205a55ed EMailShellView: Avoid e_get_subscribable_accounts().
Use em_folder_tree_model_list_stores() to determine whether to enable
the folder subscription editor.
2011-06-29 18:42:21 +02:00
c24038c4f6 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-06-29 18:42:20 +02:00
6e6da8a408 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-06-29 18:42:20 +02:00
672132f8a0 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-06-29 18:42:19 +02:00
7050475f84 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-06-29 18:42:19 +02:00
5146ff4c53 Coding style and whitespace cleanup. 2011-06-29 18:42:17 +02:00
b1e34279d9 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-06-29 18:42:17 +02:00
6fb8b27d3d 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-06-29 18:42:17 +02:00
53feeabf5d Remove mail_remove_folder().
Use e_mail_folder_remove() instead.
2011-06-29 18:42:17 +02:00
dba093c804 Remove mail_store_prepare_offline().
Use e_mail_store_prepare_for_offline() instead.
2011-06-29 18:42:16 +02:00
ae05d156fc 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-06-29 18:42:16 +02:00
fb38e4a4ba Bug #601541 - Add 'Copy Image' Option On Inline Email Images 2011-06-29 18:42:16 +02:00
0c93d23fe1 GN-bug #649935 - Check folder validity before asking for its URI 2011-06-29 18:42:15 +02:00
c21ca3647c EMailShellView: Remove some unused utility functions.
I guess I meant to move these to EMailReader but forgot to delete the
original versions.
2011-06-29 18:42:15 +02:00
cacd0e92de Keep forgetting to add prefixes to EAlert tags. 2011-06-29 18:42:15 +02:00
1a75a7d808 Miscellaneous cleanups. 2011-06-29 18:42:15 +02:00
f21da77177 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-06-29 18:42:14 +02:00
3395074cc1 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-06-29 18:42:14 +02:00
13e414debe 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-06-29 18:42:12 +02:00
fb38ed0bf5 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-06-29 18:42:12 +02:00
f73e52138b Reimplement em_utils_forward_messages().
Now uses e_mail_folder_build_attachment() and
e_mail_folder_get_multiple_messages().
2011-06-29 18:42:12 +02:00
54da4fc09c Coding style cleanups. 2011-06-29 18:42:11 +02:00
578214584c Whitespace and coding style cleanups. 2011-06-29 18:42:10 +02:00
30fe010cff Adapt to CamelFolder:name -> display-name. 2011-06-29 18:42:10 +02:00
7aa164895c 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-06-29 18:42:10 +02:00
0b1897d7d8 em_folder_utils_copy_folder(): Change function parameter.
Take a folder URI string instead of a CamelFolderInfo.
2011-06-29 18:42:10 +02:00
e4fb22eec2 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-06-29 18:42:07 +02:00
fdf48a9b14 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-06-29 18:42:06 +02:00
839b17d1fd Remove 'from_uri' params from e-msg-composer-utils.c.
Pass CamelFolder objects instead, which are already available at almost
every call site.
2011-06-29 18:42:06 +02:00
c7398b967e Fix compiler warnings.
Mostly dead assignments.
2011-06-29 18:42:06 +02:00
fc1034551e Drop 'folder_uri' param from em_utils_folder_is_outbox(). 2011-06-29 18:42:06 +02:00
bbf5ce3869 Drop 'folder_uri' param from em_utils_folder_is_sent(). 2011-06-29 18:42:06 +02:00