Commit Graph

451 Commits

Author SHA1 Message Date
Manos Pitsidianakis
74be47ec5a
ui: fix some lints 2019-07-06 12:47:27 +03:00
Manos Pitsidianakis
a655a85b5f
ui: fix replies not being synced and inserted properly on RefreshEvents 2019-07-06 12:46:45 +03:00
Manos Pitsidianakis
b5ba9c3a8c
ui: force redraw CompactListing after EnvelopeRename event 2019-07-06 00:19:37 +03:00
Manos Pitsidianakis
6906142278
melib: don't exclude whitespaces in mime encoded words 2019-07-06 00:19:25 +03:00
Manos Pitsidianakis
ff2c030c0f
ui: process refresh events immediately 2019-07-06 00:18:55 +03:00
Manos Pitsidianakis
b920834117
Add manpage and strip README 2019-07-06 00:18:55 +03:00
Manos Pitsidianakis
34054d46ea
ui: print and set environment variables 2019-06-26 18:56:29 +03:00
Manos Pitsidianakis
8fefdf80ad
ui: don't send StartupCheck or MailboxUpdate on Envelope change events 2019-06-25 10:41:55 +03:00
Manos Pitsidianakis
22dbc7dd9f
ui: don't print empty history or duplicates 2019-06-25 10:37:19 +03:00
Manos Pitsidianakis
f33594fba8
melib: reply to In-Reply-To address if available 2019-06-25 10:37:19 +03:00
Manos Pitsidianakis
f4f3b87f84
ui: add selections to CompactListing
Select multiple entries by pressing 'v'. Set read/unread and delete
actions are then performed on the selected entries.
2019-06-25 10:37:18 +03:00
Manos Pitsidianakis
8c97336307
ui: add set as read/unread, delete actions
Implemented only in compact listing for now.
2019-06-23 11:42:48 +03:00
Manos Pitsidianakis
2d7f9ca46f
melib: rename files after getting lock in maildir 2019-06-23 11:39:19 +03:00
Manos Pitsidianakis
e0e520b2c4
ui: add filter method in ListingTrait
Implemented in CompactListing only for now. Filter results are stored in
the filter* fields of the struct.
2019-06-22 16:13:40 +03:00
Manos Pitsidianakis
bb292486f4
ui: expand Listing trait with draw_list and highlight_line
In the course of making the Listing trait a generic way for any kind of
listing (eg. NNTP, RSS, et all)
2019-06-21 12:02:11 +03:00
Manos Pitsidianakis
c34a55dcac
melib: Correctly use StackVec capacity, add test 2019-06-21 10:55:49 +03:00
Manos Pitsidianakis
04fc510ea8
meli: insert new standalone nodes in insert_reply 2019-06-19 19:40:15 +03:00
Manos Pitsidianakis
06862c1484
ui: prevent some unnecessary redraws 2019-06-19 19:39:23 +03:00
Manos Pitsidianakis
9026fb866e
ui: Add ability to call mailing list actions from Envelope view 2019-06-18 22:16:32 +03:00
Manos Pitsidianakis
07700ca00f
ui: Add possible mailing list actions from List-* headers 2019-06-18 22:01:02 +03:00
Manos Pitsidianakis
ba1d0c42e0
melib: add struct and parser for mailto: links 2019-06-18 21:59:50 +03:00
Manos Pitsidianakis
43084eda01
melib: implement FromIterator, IntoIterator and Iterator for StackVec 2019-06-18 21:39:37 +03:00
Manos Pitsidianakis
ee07aa8686
melib: add other_headers field in Envelope
Store headers with non-hardcoded names in a hash map.
2019-06-18 21:38:30 +03:00
Manos Pitsidianakis
24831b3c13
Fix warnings, lints, and 2018 errors 2019-06-18 21:14:14 +03:00
Manos Pitsidianakis
a51a164711
Turn off debugging in release target 2019-06-10 22:15:42 +03:00
Manos Pitsidianakis
8ab8e1309b
add git mirror url for mime_apps and config-rs dependencies 2019-06-10 22:01:55 +03:00
Manos Pitsidianakis
9de93b98d5
Update sample-config, and generate it if missing on startup 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
f1c72588c3
Add authors to Cargo.toml of each package 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
5a9ee50bbc
don't add newlines in encoded words 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
e0df6ce22d
ui: draw to terminal with horizontal sweeping
sweep each line in the dirty areas and avoid redraws because of area
overlap
2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
cb83f9fe05
ui: add fluid columns in CompactListing 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
9d7d7300c0
wcwidth: add emoji table 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
f0bd999f8c
parser: fix empty header value when header is last or when prefixed with
'\n'

when an empty header is last, the rest of the body keeps getting parsed
as headers. when header starts with '\n' because the value is long, the
value gets parsed as a name and the header parser fails.

closes #100

closes #101

closes #122
2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
8a07087393
add testing crate with emailparse bin 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
d772d10d66
merge FirstName/LastName fields in Contacts
First names and Last names are an anglocentric concept and do not apply
cleanly to the rest of the world's cultures.
2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
b6c0236d24
ui: make EnvelopeRename event not folder specific
And pass EnvelopeRename events to subviews
2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
85d1aaaa69
ui: add PageMovements and colors to ThreadView 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
6088705745
ui: add PageMovements in ThreadListing 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
831ec97d64
ui: add columns in PlainListing 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
d3ce424361
ui: add update and expand_headers in MailView 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
3318123870
ui: add attachment emoji in compact listing 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
d0039740b0
melib: add has_attachments property to Envelope
Check subattachments in has_attachments check.

Instead of getting a flattened attachment view of multipart/mixed (eg
[multipart/mixed, text/plain, text/plain]) get only the subattachments
(eg [text/plain, text/plain]). Don't count text-only multipart/mixed as attachments
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
03317d74ca
melib: correct out of bounds access 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
c6674a294d
melib: unwrap mailbox module 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
865c9a6bef
add experimental gdb debug lib 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
6f7b3f20de
move StackVec to melib
closes #120
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
42654410e3
ui: move Collection to Account
Each account had one mailbox per folder, which had one associated
collection. Now each Account has one Collection for all folders and each
Mailbox object holds only the hashes of each message.

Collection also gets Threads for each folder in order to mix messages
(ie from/to Sent folder).

Insert Sent emails in chronological order

if inserted unsorted, mails a, b with a happened-before b, might never
  get added.

Fix multiple insertions in ThreadTree upon insert_reply

insert_reply was creating multiple copies in threading
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
eff1c1641c
melib: track modified paths in maildir
Keep modified path status in maildir to prevent not-found panics
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
d8651db93a
delete mailbox_view module 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
d3208f6a3d
End of line in grapheme_clusters? 2019-06-10 19:40:49 +03:00