Commit Graph

500 Commits

Author SHA1 Message Date
Manos Pitsidianakis
51c913d450
ui: add event queue for folders in Account 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
7de075df49
ui: add Home/End movements 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
6504a141f3
melib: dont allocate new string 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
06b96449c1
ui: add history and autocomplete in execute bar
closes #116 and #117
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
3c575c823d
ui: toggle thread snooze flag
snooze field translated to whether the user wants to be notified of new
email in the thread or not. This is toggled with an (temp) EX cmd: `toggle_thread_snooze`

closes #112
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
22d868f499
save Account to disk
closes #114
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
4582bcd5ae
fix warnings and lints 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
de81fd1a68
ui: don't show notifications if folder is ignore
Also ignore Sent folder by default
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
2dec7fa6b6
ui: set plain/threaded/compact keeps mailbox position
closes #109
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
1e7e99f499
melib: return $val in debug! 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
f972f69bad
ui: send RefreshMailbox events in every refresh_mailbox call
closes #108
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
a0b1a079b8
ui: add "application/pgp-signature" content type 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
4c88422d71
ui: fix scrollbar calculations 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
6e7ab0421b
ui: fix pager scrolling getting stuck 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
5d6c4ee2c8
ui: remove useless padding from ThreadView items 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
bf35894a18
ui: distinct shortcut maps with description
put shortcuts in different maps according to their source component
instead of bagging them all in the same one, and then print each
shortcut section on its own in the shortcut window
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
5a564dee63
melib: print folder tree in Listing menu properly
Depths weren't calculated correctly, and index (eg 0 Inbox) wasn't
colored correctly if the folder's name started with a number (eg 11 2019)
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
b943941e60
melib: format maildir/backend.rs 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
13fba8d35b
melib: drop MutexGuard before calling add_path_to_index
In some cases add_path_to_index was called with the mutex already held,
and a deadlock occurred.
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
d231865f88
ui: add scrollbar widget in view/thread.rs 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
dad7c09158
melib: detect plain text in multipart/alternative 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
8b23ddb920
ui: correct mailview visibility toggle
Grid wasn't updated when user toggles mailview's visibility in
view/thread.rs.
2019-06-10 19:40:48 +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
0e3b8f54d9
melib: fix address_spec parse without displayname
addresses like "<user@domain.tld>" were parsed as "ser@domain.tld". Fix
this by checking for displayname length.
2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
ca64e4cd4a
ui: rename b cmd to go 2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
0f4db97b75
ui: display headers in ViewMode::Raw 2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
c26dd0685b
ui: print menu entries in order
FolderNode is a tree structure to represent the sorted or user defined
order inside the Account type
2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
9afeb648f7
melib: keep old_hash in Collection temporarily
When renaming envelopes, keep old_hash in collection until we receive an
EnvelopeRename event in ui
2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
f1734048c8
ui: fix memory overflow in WordBreakIter 2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
35bac364b1
ui: correctly display multipart html in Views
- Use Alt-r for entering raw mode
- Use r to exit raw mode
- added shortcuts
- add attachment footer in HtmlView::new
2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
59d912e2ee
ui: send events to active subview only in CompactListing 2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
aade41401e
ui: add column sep between menu and listing 2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
325bb5bff2
add literal print to debug! 2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
99527f5684
ui: format From column in CompactListing
closes #87
2019-06-10 19:40:47 +03:00
Manos Pitsidianakis
02083032bf
ui: add From column in CompactListing 2019-06-10 19:40:46 +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
7e76cb7a4a
ui: align columns in CompactListing 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis
e7c50c8dc5
pager: wrong max_cursor_pos setting 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
9143b2e791
ui: view: small fixes 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis
13cd6b2741
ui: CompactListing: change only highlight in EnvelopeRename event 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis
681cd7d1df
ui: update unicode-rs and fix invalid iterator return 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis
03b9641bc6
ui: fix acc navigation shortcuts direction 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis
3415a382a1
ui: make StackVec return an Option<T> 2019-06-10 19:40:46 +03:00
Manos Pitsidianakis
4ae8cbadbf
ui: reassign listing shortcuts
after `312011c ui: move account menu functions to Listing`, shortcuts like prev_folder etc should be generic over all listing types.
2019-06-10 19:40:45 +03:00
Manos Pitsidianakis
69031e66f9
ui: move account menu functions to Listing
AccountMenu was completely semantically attached to Listing, so there's
no reason for them to be separate and communicating via events.
2019-06-10 19:40:45 +03:00
Manos Pitsidianakis
de8b733d92
ui: initialize cursor in AccountMenu
Previous behavior was cursor highlight jumping around freshly loaded
folders
2019-06-10 19:40:45 +03:00