| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Running in offline had no meaning, a store connected to its
server anyway.
|
| |
|
|
|
|
|
| |
Access the EMailLabelListStore through EMailSession instead of
EShellSettings, which was a quick hack of mine during kill-bonobo.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
EMailBackend catches these signals and forwards the EActivity to
e_shell_backend_add_activity().
|
|
|
|
| |
Need to load all accounts on startup, even disabled ones.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|\| |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Slightly more efficient and convenient than:
g_simple_async_result_set_from_error (simple, error);
g_error_free (error);
One less GError to copy and destroy.
|
| |
|
|
|
|
|
| |
Reducing diff noise so I can see important changes easier when comparing
branches. A few API changes, but nothing that affects functionality.
|
|
|
|
|
|
|
|
| |
The EModule, EExtensible and EExtension classes as well as the
e_type_traverse() function have been moved to Evolution-Data-Server's
libebackend library to replace e-data-server-module.c.
Now Evolution-Data-Server modules use the same framework as Evolution.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Simplify, simplify...
|
|
|
|
|
|
|
|
|
| |
Override CamelSession.add_service(). First chain up, then, if
initialization was successful, call camel_settings_load_from_url() on
the CamelSettings object in the new CamelService instance.
Note that eventually we'll load CamelSettings values from a key file
instead of from URL parameters. This is just a temporary measure.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
camel_store_get_folder() pushes an "Opening folder" message itself.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This relies on e_mail_folder_uri_parse() to handle 'email://' URIs.
See the previous commit.
|
|
|
|
|
| |
Forgot I had already made CamelSaslPOPB4SMTP expect a CamelSource UID
from camel_session_get_password().
|
|
|
|
|
| |
Utilizes the new capability in e_get_account_by_uid() to handle both
CamelStore and CamelTransport UIDs.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It was necessary to propagate the change into evolution-exchange,
as found within bug #644644
|
| |
|
| |
|
|
|
|
| |
GCC learned how to find dead assignments.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Use e_mail_folder_append_message() instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With unintrusive error dialogs gone, we can cut some unnecessary bits
out of EActivity.
I'm also adding a new enum property called "state", which is one of:
E_ACTIVITY_RUNNING
E_ACTIVITY_WAITING
E_ACTIVITY_CANCELLED
E_ACTIVITY_COMPLETED
The state of an activity must be explicitly changed. In particular,
when the user cancels an activity the state should be set only after
confirming the operation has been cancelled and not when cancellation
is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when
the GCancellable emits "cancelled"). EActivityBar and EActivityProxy
widgets have been updated to make this distinction clearer in the UI.
E_ACTIVITY_WAITING will be used when activities have to be queued and
dispatched in sequence, which I haven't written yet.
|
|
|
|
|
|
|
|
|
| |
And generate GTypes for each of them in e-mail-enumtypes.[ch].
Also, the glib-gen.mak script forced me to add a <mail/e-mail.h>
top-level header, which really isn't a bad idea anyway.
TODO: We should do this for calendar and addressbook too.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This marks the end of unintrusive error dialogs, which were too
unintrusive. We now show errors directly in the main window using
the EAlert / EAlertSink framework.
|
|
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.
|