Commit graph

4 commits

Author SHA1 Message Date
Michael Gratton
43803239a4 Replace Geary.Account::send_email w/ Smtp.ClientService methods
Remove Geary.Account::send_email and the sending progress monitor in
favour of exposing Geary.Smtp.ClientService as a public class and so
allowing clients to acccess those symbols from Geary.Account::outgoing.

Also make ::send_email a convenience class for doing a save/queue and
expose those operations, so clients can managage the two seperately if
desired (e.g. for undoing sending).

Finally, make Outbox.Folder public since it's exposed by the SMTP
service and maybe clients want to do something more detailed with it
anyway?
2019-11-17 20:00:01 +11:00
Michael Gratton
942a4fa64f Don't support removing an email when creating another
Remove the `id` param from FolderSupport.Create::create_email_async.
Fix up all implementations and call sites. Update App.DraftManager to
explicitly handle removing the old draft after creating the new one.

This ensures the custom folder delete support gets used and in
particular, ensures that old drafts under Gmail disappear ASAP.

Fixes #76
2019-08-28 18:21:21 +10:00
Michael Gratton
5a22e8e4a2 Convert Geary.FolderRoot to be an actual root, not just a top-level
Instead of each top-level IMAP folder being a FolderRoot object, then
children of that being FolderPath objects, this makes FolderRoot an
"empty" FolderPath, so that both top-level and descendant folders are
plain FolderPath objects. Aside from being more technically correct,
this means that empty namespace roots can now be used interchangably
with non-empty namespace roots (addressing issue #181), and custom
folder implementations no longer need to provide their own trivial,
custom FolderRoot.

To support this, a notion of an IMAP root and a local root have been
added from which all remote and local folder paths are now derived,
existing places that assume top-level == root have been fixed, and
unit tests have been added.
2019-01-15 00:18:45 +11:00
Michael Gratton
3dc60793c8 Move SmtpOutbox impl out of ImapDB, rename to just Outbox
Outbox code now effectively does not depend on ImapDB, and no longer
contains any SMTP code, so this moves it to it's own top-level engine
package and removes SMTP from its name.
2018-11-30 23:49:30 +11:00
Renamed from src/engine/imap-db/outbox/smtp-outbox-folder.vala (Browse further)