Manos Pitsidianakis
521f634e7b
melib/nntp: implement NNTP posting
2021-09-04 00:42:19 +03:00
Manos Pitsidianakis
22a64e2d76
melib: Remove unnecessary "pub use" std exports
2021-01-10 01:40:27 +02:00
Manos Pitsidianakis
622ded8021
compose: add attribution line for replies
2021-01-08 15:01:38 +02:00
Manos Pitsidianakis
6d63429ad3
Add scrolling context to StatusBar
...
- Whenever a scrolling context is entered/exited, send a ScrollUpdate event.
- StatusBar maintains a stack of scrolling contexts and displays the
last one, if it exists. Each context is associated with a ComponentId.
- To handle dangling contexts after their Components aren't visible
anymore, send a VisibilityChange event in situations where that scenario
is possible.
2021-01-08 15:01:38 +02:00
Manos Pitsidianakis
ed826357a3
Don't unwrap try_recv() on async jobs channels
...
Job might have been canceled.
2020-12-25 06:10:28 +02:00
Manos Pitsidianakis
48e7a493a9
Add reload-config command
...
Closes #84 Add "reload configuration" command
2020-12-02 21:01:22 +02:00
Manos Pitsidianakis
879af75d88
utilities/dialogs: use align_area to create box
2020-11-25 21:19:22 +02:00
Manos Pitsidianakis
b46cd09ca6
compose: pass body text when replying
...
Get rendered body text when creating a new reply Composer instead of
rendering the text in the Composer constructor.
Closes #86
2020-11-24 10:36:31 +02:00
Manos Pitsidianakis
f69f623818
Fix some invalid area calculations
2020-11-24 02:23:07 +02:00
Manos Pitsidianakis
179ed52add
compose: grey embed area when embed is stopped
...
When stopping the embedded terminal with Ctrl-Z or SIGSTOP, show the
terminal area greyed out with a message box.
2020-11-24 02:18:21 +02:00
Manos Pitsidianakis
ebc290cc2a
compose: set format flowed if configured in pager
2020-11-24 02:18:21 +02:00
Manos Pitsidianakis
1c62de57ae
Never return true on processing JobFinished
...
JobFinished events are not meant to be inhibited.
2020-11-15 21:30:54 +02:00
Manos Pitsidianakis
72084da185
Add store_sent_mail option for gmail
...
- store_sent_mail boolean
Store sent mail after successful submission.
This setting is meant to be disabled for non-standard behaviour in
gmail, which auto-saves sent mail on its own.
2020-11-09 22:22:11 +02:00
Manos Pitsidianakis
afa74ccfb5
compose: add From text entry autocomplete
2020-10-24 14:36:39 +03:00
Manos Pitsidianakis
bb51d36579
composer: send NewJob event on submission
2020-10-16 22:30:56 +03:00
Manos Pitsidianakis
3949cecb75
mail/composer: add scrollbars
2020-10-16 12:37:01 +03:00
Manos Pitsidianakis
6f31388b27
compose: add EditAttachments menu
2020-10-13 17:17:57 +03:00
Manos Pitsidianakis
5337a54d96
compose: move gpg mod to its own file
2020-10-13 17:06:30 +03:00
Manos Pitsidianakis
b343530f0c
widgets: add button type parameter to FormWidget
2020-10-13 17:04:40 +03:00
Manos Pitsidianakis
9ce62c735a
compose: add key selection state for gpg operations
...
Closes #81
2020-10-11 18:11:04 +03:00
Manos Pitsidianakis
39fab67523
compose: use melib::Bytes pretty print for attachment size
2020-10-11 16:53:05 +03:00
Manos Pitsidianakis
0ca7b0042e
utilities: ensure Form/Button widgets are not always non-dirty
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
406af1848f
compose: add `add-attachment-file-picker` command
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
a4b78532b7
Refactor job structs into JoinHandle
...
Put oneshot::channel<R> into JoinHandle<R>
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
0dd9e6a34b
compose: kill selectors on ComponentKill
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
eb1cb5cec6
compose: expand cursor reach to attachment area
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
be45b0c02d
compose: add encrypt layer
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
a2f11c341d
compose: add async draft filter stack in sending mail
...
Add a stack of "filter" closures that edit a draft before sending it.
Add PGP signing filter. An encryption filter will be added in a future
commit.
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
08df7f39b2
Add toggle encrypt action in composer
...
Does nothing for now, will be used in a future commit.
2020-10-11 16:53:04 +03:00
Manos Pitsidianakis
23ca41e3e8
add libgpgme feature
2020-10-05 21:10:00 +03:00
Manos Pitsidianakis
83bee279e6
melib/email/compose: set attachment status
...
Set Content-Disposition: attachment to, well, attachments.
2020-09-16 19:57:06 +03:00
Manos Pitsidianakis
fadf20d7b1
NotificationType: add melib::ErrorKind
2020-09-13 15:23:14 +03:00
Manos Pitsidianakis
20b02ffd4f
Lookup tag color/ignore settings in all three setting levels
...
There are three setting levels for tag settings:
- per mailbox override ^
- per account override |
- global setting |
depth
So lookup in each of them in this order for configuration, not just the
deepest level.
2020-09-12 23:02:06 +03:00
Manos Pitsidianakis
c6c0da7fcb
melib: cleanup commit
...
Cleanup melib module exports, add some document tests, change some
documentation.
2020-09-10 21:19:38 +03:00
Manos Pitsidianakis
14663e46b9
Remove some old TODO comments
2020-08-26 00:54:07 +03:00
Manos Pitsidianakis
8d50e83a33
melib/email: add case-insensitive Header struct
...
- HeaderName is either 32 or less inlined bytes or heap-allocated vec for more than that.
- Equality and hashing is case-insensitive
- A HeaderMap is a hashmap from HeaderName to Strings that can be
indexed with &str, case insensitive. Insertion order is also preserved
2020-08-26 00:54:06 +03:00
Manos Pitsidianakis
9928ee78e7
Add Reply{ToAuthor,ToAll} actions
...
- previous Reply action now lets you select recipients by default
- ReplyToAuthor selects the Envelope author as recipient
- ReplyToAll selects all addresses
2020-08-26 00:54:05 +03:00
Manos Pitsidianakis
9afbdd4887
Add insert_user_agent option in composing
...
Add option for automatically inserting a 'User-Agent' header in new
drafts.
2020-08-26 00:54:05 +03:00
Manos Pitsidianakis
8a6bf3b217
Preserve Account order from configuration file
...
Use IndexMap to preserve the order of accounts in the UI from the
account definitions.
2020-08-26 00:54:05 +03:00
Manos Pitsidianakis
77dc1d74bf
Add smtp client support for sending mail in UI
...
`mailer_command` was removed, and a new setting `send_mail` was added.
Its possible values are a string, consisting of a shell command to
execute, or settings to configure an smtp server connection. The
configuration I used for testing this is:
[composing]
send_mail = { hostname = "smtp.mail.tld", port = 587, auth = { type = "auto", username = "yoshi", password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/msmtp/yoshi.gpg" } }, security = { type = "STARTTLS" } }
For local smtp server:
[composing]
send_mail = { hostname = "localhost", port = 25, auth = { type = "none" }, security = { type = "none" } }
2020-07-15 15:24:01 +03:00
Manos Pitsidianakis
ddafde7b37
jobs: save handle for each Job
...
If we save the JoinHandle for each task, we can cancel it in future
commits if we have to timeout network requests.
2020-07-15 15:22:33 +03:00
Manos Pitsidianakis
899d497c9c
Rename _cmd options to _command for consistency
2020-07-08 12:12:15 +03:00
Manos Pitsidianakis
a7e177586a
Fix clippy lints
2020-07-06 15:27:08 +03:00
Manos Pitsidianakis
bbedeed3e3
More imap async fixes
2020-07-06 15:27:06 +03:00
Manos Pitsidianakis
b3876113aa
BackendOp: return future in as_bytes()
2020-07-06 15:26:39 +03:00
Manos Pitsidianakis
58aff83b95
Change "Draft saved" to "Message saved"
2020-06-26 21:12:57 +03:00
Manos Pitsidianakis
4ae7a57d45
Add save-draft command
2020-06-23 20:11:05 +03:00
Manos Pitsidianakis
efb06be09b
melib: return Result<_> from operation()
...
Envelope might have been deleted before main thread requests an
operation, which is a race condition.
2020-06-23 20:10:54 +03:00
Manos Pitsidianakis
6ec249dd7f
melib: update nom dependency from 3.2.0 to 5.1.1
...
That was hecking exhausting
2020-06-06 23:19:07 +03:00
Manos Pitsidianakis
bd404e6937
Execute user shell commands with /bin/sh
...
Execute user provided command invocations $CMD such as `editor_cmd` with
`/bin/sh` as `/bin/sh -c "$CMD"
Previously, user commands were split by whitespace which must trigger
erroneous behavior if quotes are involved.
2020-05-28 21:02:49 +03:00