Commit Graph

287 Commits (77936e0cd55c1924d7718fdde1debdf1c29149ae)

Author SHA1 Message Date
Manos Pitsidianakis 325bb5bff2
add literal print to debug! 2019-06-10 19:40:47 +03:00
Manos Pitsidianakis 59135be983
melib: fix typo and unused val 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis 1f2c0b4fa7
melib: multipart/mixed with html messages not displayed as html 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis 8ef470fb15
add name in single var print in debug! 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis fb406667ab
add debug! macro to replace eprintlns 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis a03bd80199
ui: watch root_folder instead of every folder 2019-06-10 19:40:45 +03:00
Manos Pitsidianakis 3790f68e3f
ui: file_name() does not return full file_name
move_to_cur doesn't retain the full envelope name when moving
2019-06-10 19:40:45 +03:00
Manos Pitsidianakis 1e44089d84
ui: Refer to child/parents with FolderHash in BackendFolder
- use a stack to build folder order list in conf/accounts.rs
- update side menu print
2019-06-10 19:40:45 +03:00
Manos Pitsidianakis 596194fa47
melib: fix debug prints not debug-build only 2019-06-10 19:40:45 +03:00
Manos Pitsidianakis 499113acd2
melib: encode header values
closes #102
2019-06-10 19:40:45 +03:00
Manos Pitsidianakis f348cc9a55
melib: add fqdn to MID 2019-06-10 19:40:45 +03:00
Manos Pitsidianakis 87adc6dd19
melib/ui: refer to Folders by FolderHash 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis 04eb8d926f
ui: remove debug_log feature, add log positions 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis a29e39f5ef
ui: fix `editing messages duplicates headers`
closes #94
2019-06-10 19:40:43 +03:00
Manos Pitsidianakis d9a3b03e2b
melib: create new threadnode if it's missing inside rebuild_thread 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis 4bf1f6b9c9
ui: make Composer account specific 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis cfb7dcec64
ui: make html filter optional in config
closes #92
2019-06-10 19:40:43 +03:00
Manos Pitsidianakis 067a8e5c81
Run clippy for 2018 edition 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis ee4462881e
run cargo fmt 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis 1c7aa0ec9c
update to 2018 edition 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis ac0e2cbe44
melib: fix invalid folder hierarchy in Backend::folders() 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis 43f89ef680
melib: fix crash in node_build( 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis ba6c259820
melib: fix duplication of thread nodes in update envelope event 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis 11b2abd1d1
ui: fix seen property of threads on open, add env rename events 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis 5d9af8e32b
ui: improve contact additions from mail view 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis 551db51b00
ui: avoid full renders when worker threads return StartupChecks
Now listings only re-render when their folder gets a StartupCheck event,
account menu always re-renders to update new mail counts

closes #76
2019-06-10 19:40:41 +03:00
Manos Pitsidianakis d19bda8977
melib: properly save drafts in maildir backend 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis 4629e6a22f
meli: add debug_logs feature
Conditional print of debug logs in stderr. Previously they were always
printed
2019-06-10 19:40:40 +03:00
Manos Pitsidianakis b741899fcf
ui: Add some docs and mini cleanups 2019-06-10 19:40:40 +03:00
Manos Pitsidianakis 9b4b6051f1
ui: use any email as composing template with edit command
concerns #38
2019-06-10 19:40:40 +03:00
Manos Pitsidianakis bf038428c2
Run rustfmt 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis b1d25e6d8d
add autocomplete suggestions in field 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis 5e306130fb
Fix clippy warnings 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis f748f1e692
edit headers with a form in composer 2019-06-10 19:40:38 +03:00
Manos Pitsidianakis e285d1006b
Open Contacts list from accounts tab 2019-06-10 19:40:38 +03:00
Manos Pitsidianakis 00abea5bff
Make Entity `Send` 2019-06-10 19:40:38 +03:00
Manos Pitsidianakis c135650018
Add Contact edit
concerns #11
2019-06-10 19:40:37 +03:00
Manos Pitsidianakis bbaf87e345
Add type synonyms for Uuids
closes 58
2019-06-10 19:40:37 +03:00
Manos Pitsidianakis 62168e9183
Add contact view page, edit headers in compose, index style in conf 2019-06-10 19:40:37 +03:00
Manos Pitsidianakis 1883bb46dd
Fix `unused` cargo warnings 2019-06-10 19:40:37 +03:00
Manos Pitsidianakis 30b1808bdb
ui: save draft to draft_folder
tracking-issue: #38
2019-06-10 19:40:37 +03:00
Manos Pitsidianakis 7ff22229a9
store headers in same order in drafts 2019-06-10 19:40:37 +03:00
Manos Pitsidianakis 04411f1003
rename 'mod.rs' files
closes #53
2019-06-10 19:40:37 +03:00
Manos Pitsidianakis 92bb3bf8d3
ui: add contacts and account panel 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis 07a51de0b6
Fix unused warnings 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis 4be5b1a868
ui: fix mailbox length count 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis 1b3fe2a391
melib: maildir set extension properly 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis 5a28320004
WIP 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis 9b58908f6f
melib: add per-folder hash indexes in maildir backend 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis 2f3c168aeb
melib: add clear debug prints in email structs 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis fd1378781d
melib: insert envelope in threads after inserting it in collection 2019-06-10 19:40:35 +03:00
Manos Pitsidianakis afe34d5916
melib: hash path instead of file contents in maildir backend 2019-06-10 19:40:35 +03:00
Manos Pitsidianakis 1950228fda
melib: remove body field from Envelope 2019-06-10 19:40:35 +03:00
Manos Pitsidianakis f6533d51c7
melib: add async threading
closes #43
2019-06-10 19:40:35 +03:00
Manos Pitsidianakis 0add765030
melib: ensure envelope has MessageID 2019-06-10 19:40:35 +03:00
Manos Pitsidianakis eda76c744e
melib: add async blocking join 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis 47481e72da
melib: Prune empty containers while threading 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis b2e91a83bd
Fix encoded-word parsing bug 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis fae1cdd33e
melib: Re-implement JWZ threading algorithm 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis 4993db745a
melib: insert sent_folder content to other mailboxes 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis 8c5879032e
melib/ui: print threads in correct order 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis 630330f632
melib: add ThreadTree 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis 2fcd014bfe
melib: Fix incorrect thread child linking 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis e3457c40d6
melib: fix setting incorrect `From: ` values 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis 823889b773
melib: Fix incorrect thread len count 2019-06-10 19:40:34 +03:00
Manos Pitsidianakis 4f715af248
melib: cache threads
closes #28
2019-06-10 19:40:33 +03:00
Manos Pitsidianakis 1f49dfae3b
melib: add hash_set in threads to keep track of envelopes
closes #40
2019-06-10 19:40:33 +03:00
Manos Pitsidianakis 5135c5ce3f
ui: insert new envelopes in threads 2019-06-10 19:40:33 +03:00
Manos Pitsidianakis bcef22b3f3
ui: add Listing component with 3 modes: compact plain and threaded 2019-06-10 19:40:33 +03:00
Manos Pitsidianakis 6003bdd28c
WIP 2019-06-10 19:40:33 +03:00
Manos Pitsidianakis 3e9d137310
melib: rework mail events
closes #39
2019-06-10 19:40:33 +03:00
Manos Pitsidianakis c88ee18dda
melib: add quoted body in reply draft 2019-06-10 19:40:33 +03:00
Manos Pitsidianakis 8d3a2d8236
ui: refactor compose actions 2019-06-10 19:40:32 +03:00
Manos Pitsidianakis b94687cdb0
ui: add reply-context in compose
tracking-issue: #24
2019-06-10 19:40:32 +03:00
Manos Pitsidianakis 58679db790
melib: Add folder path prefix in cache file names
Closes #29
2019-06-10 19:40:32 +03:00
Manos Pitsidianakis a20e7ac5c2
ui: select `From` identities in compose tab
Tracking issue #24
2019-06-10 19:40:32 +03:00
Manos Pitsidianakis deadd3c3fb
ui: Use Draft in compose tab
tracking issue: #24
2019-06-10 19:40:32 +03:00
Manos Pitsidianakis edf0464011
melib: Add Draft entity 2019-06-10 19:40:31 +03:00
Manos Pitsidianakis 6f994feb13
Whitespace fixes 2019-06-10 19:40:31 +03:00
Manos Pitsidianakis a6d557d694
Don't insert newlines between multipart attachments
Closes #34
2019-06-10 19:40:31 +03:00
Manos Pitsidianakis c5992b707d
Add box drawing in threadview with fluid layout 2019-06-10 19:40:31 +03:00
Manos Pitsidianakis 2b6d1e0dbf
Run clippy lints 2019-06-10 19:40:31 +03:00
Manos Pitsidianakis 111f915ced
folder renaming configuration
concerns #27
2019-06-10 19:40:30 +03:00
Manos Pitsidianakis 84bf2d43be
Move accounts to `ui` 2019-06-10 19:40:30 +03:00
Manos Pitsidianakis 681ac4b849
move config stuff to `ui` 2019-06-10 19:40:30 +03:00
Manos Pitsidianakis 9d5b2a4628
move config stuff to `ui` 2019-06-10 19:40:30 +03:00
Manos Pitsidianakis 47dd2ed93e
Fix potential as_ptr() substraction bug 2019-06-10 19:40:30 +03:00
Manos Pitsidianakis a24c366670
Parse date as phrase 2019-06-10 19:40:30 +03:00
Manos Pitsidianakis 5e7d73e6dc
Add an EnvelopeWrapper in compose 2019-06-10 19:40:30 +03:00
Manos Pitsidianakis d146c81d48
Add message/rfc822, multipart/digest multipart/mixed views
closes #22
2019-06-10 19:40:30 +03:00
Manos Pitsidianakis 41d8793412
Rewrite multipart attachment parser 2019-06-10 19:40:29 +03:00
Manos Pitsidianakis ae209e2545
Fix account menu reload bug 2019-06-10 19:40:29 +03:00
Manos Pitsidianakis c8611926fa
Refactor attachment content types 2019-06-10 19:40:29 +03:00
Manos Pitsidianakis 710920c67b
Detect new mail events and pass them as notifications to State
concerns #26
2019-06-10 19:40:29 +03:00
Manos Pitsidianakis b2c7430907
Add compact view listing, and compose tab pager
concerns #3
2019-06-10 19:40:29 +03:00
Manos Pitsidianakis f033463db9
startupcheck signal seems to be causing redraws
closes #33
2019-06-10 19:40:29 +03:00
Manos Pitsidianakis 99fab60990
Fix phrase parser again 2019-06-10 19:40:29 +03:00
Manos Pitsidianakis 5f52caf931
Fix phrase parsing with custom parser
closes #30
2019-06-10 19:40:29 +03:00
Manos Pitsidianakis 036d699ce0
Fix empty input slice bug in encoded_word (Fix #30) 2019-06-10 19:40:28 +03:00
Manos Pitsidianakis daa28ae188
Sorting in threaded view
Concerns #7
2019-06-10 19:40:28 +03:00
Manos Pitsidianakis 591946a842
Fix qp header parsing 2019-06-10 19:40:28 +03:00
Manos Pitsidianakis 5d0b7fa903
Add Envelope parsing caching
Concerns #28
2019-06-10 19:40:28 +03:00
Manos Pitsidianakis 5889494e9e
Move backend logic to backend and keep Envelope abstract 2019-06-10 19:40:28 +03:00
Manos Pitsidianakis e316640f68
TODO comment removal 2019-06-10 19:40:28 +03:00
Manos Pitsidianakis addd27f209
Put root folders on top in account menu 2019-06-10 19:40:28 +03:00
Manos Pitsidianakis d8137738b5
Add more charsets and parsing stuff 2019-06-10 19:40:28 +03:00
Manos Pitsidianakis 1b44aae5ce
Add reload when receiving refresh event!! 2019-06-10 19:40:28 +03:00
Manos Pitsidianakis b98a04f35b
Make backend folders completely agnostic (remove maildir logic from
conf)
2019-06-10 19:40:28 +03:00
Manos Pitsidianakis 8462d1aceb
Add HtmlView, bounds checking in pager scrolling and better attachment view 2019-06-10 19:40:27 +03:00
Manos Pitsidianakis befe00dea6
Add html view 2019-06-10 19:40:27 +03:00
Manos Pitsidianakis 14d65838b7
Fix proper viewing for multipart alternatives, html view and quoted printable soft breaks 2019-06-10 19:40:27 +03:00
Manos Pitsidianakis a8fed3a042
Add Charset type and Charset based decoding 2019-06-10 19:40:27 +03:00
Manos Pitsidianakis c30f77a312
Run clippy and rustfmt 2019-06-10 19:40:27 +03:00
Manos Pitsidianakis 43ad31d2ab
Add sort/subsort functions, not working yet as intended 2019-06-10 19:40:27 +03:00
Manos Pitsidianakis 8a7dfcd4ee
Add some documentation 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis 00200aedb6
Handle thread joins from State 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis 3f35b69ff1
Poll all parse workers on startup 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis f2a646158d
Set flags in backends and mark as read when read in maillisting 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis b21d30c2ef
Async loading of mailboxes on startup 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis 4e5721563e
Generate missing message_id from byte hash 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis 375b256a4e
Add raw mode view in email 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis 63ce729205
Optimize some parser stuff 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis e91f22cb4f
Remove some string conversions in parsing 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis d5c0542f61
Update benches 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis 6ebab37a3d
Add some error checking in parsing 2019-06-10 19:40:26 +03:00
Manos Pitsidianakis 2f91d29326
rustfmt everything 2019-06-10 19:40:25 +03:00
Manos Pitsidianakis ffbd70e40b
Add address_list parser 2019-06-10 19:40:25 +03:00
Manos Pitsidianakis ea9bdd2074
Add address_list parser 2019-06-10 19:40:25 +03:00
Manos Pitsidianakis 6049449733
Add attachment view for application/* mime
concerns #2

left:

multipart text and pgp.
2019-06-10 19:40:25 +03:00
Manos Pitsidianakis b7729243ad
Fix compiler warnings 2019-06-10 19:40:25 +03:00
Manos Pitsidianakis 7ed707a309
Print attachments of interest in the text body
Concerns #2
2019-06-10 19:40:24 +03:00
Manos Pitsidianakis d763699324
Add support for component specific actions for shortcuts 2019-06-10 19:40:24 +03:00
Manos Pitsidianakis f119789cb0
Add stub for format_flowed support
Concerns #17
2019-06-10 19:40:24 +03:00
Manos Pitsidianakis f267fe8c9e
Micro fixes 2019-06-10 19:40:24 +03:00
Manos Pitsidianakis a7993d48f8
Make date printing prettier in entry formatting 2019-06-10 19:40:24 +03:00
Manos Pitsidianakis 0092496632
Rename all getters from get_X to X
closes #5
2019-06-10 19:40:23 +03:00
Manos Pitsidianakis 8c98d3a5a0
Move ui and melib to different crates
closes #9
2019-06-10 19:40:23 +03:00