Commit Graph

47 Commits (22d868f499bbf617a530fd67754c46a15896c4ec)

Author SHA1 Message Date
Manos Pitsidianakis 22d868f499
save Account to disk
closes #114
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis 3bc22abdff
ui: draw thread arrows correctly in other sortings
thread arrows in ThreadListing weren't drawn correctly when subsorting
was changed (eg date -> subject)

has_sibling was delegated to ThreadsIterator.
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis 355fb63b16
melib: link threads with empty intermediates
A thread's chain link would get broken when empty intermediate
ThreadNodes exist. The pruning of the empty node did not properly chain
the empty node's parent with the empty node's children.

Old behaviour:

- [A]
/* [B] is missing */
- [C]
/* [D] is missing */
- [E]

New behaviour (`x` represents deleted links)

- [A]
  |
  |xxx> [empty node of B]
  |        x
  |        x
  |        \/
  |_______>[C]
	    |
	    |xxx> [empty node of D]
	    |        x
	    |        x
	    |        \/
	    |_______>[E]
2019-06-10 19:40:47 +03:00
Manos Pitsidianakis fb406667ab
add debug! macro to replace eprintlns 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis 04eb8d926f
ui: remove debug_log feature, add log positions 2019-06-10 19:40:44 +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 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 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 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 5e306130fb
Fix clippy warnings 2019-06-10 19:40:39 +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 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 f6533d51c7
melib: add async threading
closes #43
2019-06-10 19:40:35 +03:00
Manos Pitsidianakis 47481e72da
melib: Prune empty containers while threading 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 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 b94687cdb0
ui: add reply-context in compose
tracking-issue: #24
2019-06-10 19:40:32 +03:00
Manos Pitsidianakis 2b6d1e0dbf
Run clippy lints 2019-06-10 19:40:31 +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 daa28ae188
Sorting in threaded view
Concerns #7
2019-06-10 19:40:28 +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 4e5721563e
Generate missing message_id from byte hash 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 2f91d29326
rustfmt everything 2019-06-10 19:40:25 +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