Commit Graph

87 Commits

Author SHA1 Message Date
992373c8b0 Adapt modules/mail to the new ESource API. 2012-06-02 23:00:40 -04:00
e4cce2eeae Bug #564820 - Search filter persists when changing folders 2012-04-23 12:49:46 +02:00
6d2c382788 WebKit port - port formatter and mail module 2012-03-28 18:38:25 +02: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
d0f2c46a1c Do not auto-mark-as-seen when changing filter type 2012-01-11 15:59:25 +01:00
e3735c7444 Move EMailLabelListStore to EMailSession.
Access the EMailLabelListStore through EMailSession instead of
EShellSettings, which was a quick hack of mine during kill-bonobo.
2011-12-24 17:44:51 -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
b95e613147 mail-send-recv.c: Avoid using EAccount and CamelURL if possible.
EAccount is deprecated and mail URLs are being phased out.

Use EMailAccountStore and CamelService instead.
2011-12-16 10:57:57 -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
a01525c931 Miscellaneous EShellView-related cleanups. 2011-12-07 22:11:21 -05:00
d79ca40b62 Adapt to CamelFolderSummary API changes 2011-10-06 16:59:04 +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
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
8c351c101f Do not leak memory on each mail folder change 2011-08-01 15:09:10 +02:00
756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
cb97c2dc8f Coding style and whitespace cleanup. 2011-05-21 17:56:06 -04:00
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
d20e186ce7 Bug #601541 - Add 'Copy Image' Option On Inline Email Images 2011-05-16 13:21:22 +02:00
c5765a097f GN-bug #649935 - Check folder validity before asking for its URI 2011-05-13 14:05:11 +02:00
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
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
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
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
c7b455de89 Adapt to CamelFolder:name -> display-name. 2011-05-07 11:15:51 -04:00
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
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
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
397aeade05 Adapt to CamelService changes. 2011-04-21 07:45:45 -04:00
1301cf02ef Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedly 2011-02-25 16:20:41 +01:00
21ab8044da Coding style and whitespace cleanup. 2011-01-29 20:22:57 -05:00
d6ce64dc19 Bug #633788 - Mail plugin's update-actions handler is never called 2011-01-18 18:02:03 +01:00
ffa69c8bef Bug #637162 - May not add toolbar Send/Receive button multiple times 2010-12-14 15:13:55 +01:00
320c4ce807 Bug #631568 - Scheduling Meetings with CalDAV calendars 2010-12-08 14:31:58 +01:00
558599a201 Bug 636265 - Trash is untranslated in the window title 2010-12-03 15:57:34 -06:00
e39dd931bc Bug #207580 - Allow new mail check on individual accounts 2010-11-25 18:10:14 +01:00
1e663aa132 Replace EBinding with GBinding.
GObject now does property bindings itself.

Requires GLib >= 2.26.
2010-10-14 07:12:52 -04:00
a06e4484b8 Give MailSession a permanent home.
Global variables in shared libraries are a bad idea.  EMailBackend now
owns the MailSession instance, which is actually now EMailSession.

Move the blocking utility functions in mail-tools.c to e-mail-session.c
and add asynchronous variants.  Same approach as Camel.

Replace EMailReader.get_shell_backend() with EMailReader.get_backend(),
which returns an EMailBackend.  Easier access to the EMailSession.
2010-10-12 13:58:59 -04:00
afe6f502c3 Use new GDK keysym names if available.
In GTK+ 2.21.8, the keysym names were renamed from GDK_* to GDK_KEY_*.

I've added backward-compatibility macors to gtk-compat.h, which can be
dumped as soon as we require GTK+ >= 2.22.0.
2010-09-17 18:39:59 -04:00
5310e4a0b1 Adapt to CamelOperation API changes. 2010-09-14 23:48:02 -04:00
935bc4be07 Bug 628141 - Duplicate signal connections in EMailReader
EMailShellContent implements the EMailReader interface but acts as a
proxy for EMailPanedView, from which it obtains MessageList and EWebView
widgets.  The problem was both classes call e_mail_reader_init_private()
which connects to signals emitted from the MessageList and EWebView
widgets.  But since EMailShellContent is a proxy for EMailPanedView,
the signals were being connected twice.

This commit does away with e_mail_reader_init_private(), instead adding
options to e_mail_reader_init() to control what parts of initialization
to run.  It's an ugly and temporary hack.

I'm beginning to realize EMailReader is too bloated and needs rethought.
EMailReader should just manage actions.  EMailView should own and manage
the widgets, and EMailReader should just have a get_mail_view() method
so it has access to those widgets.  That way the EMailView subclasses
won't have to implement EMailReader themselves and wind up allocating
a bunch of duplicate, unused actions.

It's too close to a stable release to rip these interfaces apart and
reorganize them.  I'll try to do that for 2.33 to help make the design
more intuitive.
2010-08-27 15:44:25 -04:00
87a3fac95c Mail module + EMailView cleanups. 2010-08-26 13:14:01 -04:00
acb73cd105 Fix more non-removal of signals on user_data object distruction by
using g_signal_connect_object in many places; fixes bgo#627525#
2010-08-20 20:04:37 +01:00
36b9debed0 More code cleanup. 2010-07-26 12:26:55 -04:00
9279429501 Drop the "quote-from-selection" property.
David's solution is simpler: check if the HTML widget is mapped.
Avoids having to propagate the property to Srini's new classes.
2010-07-26 07:40:48 -04:00
81e5428a59 Coding style and whitespace cleanup. 2010-07-26 01:16:42 -04:00