Commit Graph

334 Commits

Author SHA1 Message Date
Manos Pitsidianakis
d231865f88
ui: add scrollbar widget in view/thread.rs 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
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
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
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
1f2c0b4fa7
melib: multipart/mixed with html messages not displayed as html 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
Manos Pitsidianakis
72d347eb6b
ui: make word_break an iter 2019-06-10 19:40:45 +03:00
Manos Pitsidianakis
b104a71544
ui: highlight entries in ThreadView within grid boundaries
If entry string length + indentation was more than available width an
out of index panic occurs when opening the thread.
2019-06-10 19:40:45 +03:00
Manos Pitsidianakis
28859542e8
ui: don't wait for workers to join in Drop
for large folders, they will take a lot of time during which the
  terminal is hung up
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
8e06e298ab
ui: send only appropriate events to current view 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
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
ea331327b2
ui: return to first tab on TabClose 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
188e359301
ui: fix nil default ComponentId 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
9bc76e3bcb
ui: unwrap UIEventType 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
106744c7ca
ui: remove Entity 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
b993375fa0
ui: put INBOX first in AccountMenu 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
42a512d010
ui: save sent messages to Sent folder 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
8149f5712f
don't overwrite 'From' in Composer' 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
7e80ad2a86
ui: hold live entries for each mailbox in CompactListing 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
0e2e8b09f6
ui: update accounts tab on mailboxupdate 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
adb3123c57
ui: reverse visible entries if self.reversed in ThreadView 2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
7fa599d13e
ui: clear threadview properly 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis
ada0950854
ui: retain hidden properties in ThreadView 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis
e3d0ad9170
ui: fix paging in ThreadView 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis
4be1b52089
ui: add hide option in ThreadView 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis
6b3c4d57d6
ui: add mailer setting and send shortcut in composer 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis
ce2317da95
ui: print tabs as two spaces
closes #88
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
92f42ad8fa
ui: don't print Carriage Return 2019-06-10 19:40:43 +03:00
Manos Pitsidianakis
2a93463f74
ui: complete fmt::Display impl for Key 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
37f95dd86d
ui: fix crash when ThreadView is initiated without a ready mailbox 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis
d7a4bd24c3
ui: do not recreate ThreadView on envelope update event 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis
db6e83b755
ui: highlight unseen thread entries in ThreadView
closes #78
2019-06-10 19:40:42 +03:00
Manos Pitsidianakis
aa95c89ba8
ui: fix erasure of first body line in MailView 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis
ff821e4fca
ui: don't set seen flag in Plainlisting 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis
c91f0d73a5
ui: add ListingTrait to get/set coordinates 2019-06-10 19:40:42 +03:00
Manos Pitsidianakis
dcb62798f8
ui: properly update cursor on refresh_mailbox in PlainListing 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
f36cb111b5
ui: add reverse order option in ThreadView
closes #70
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
37716c85df
ui: add table to contact list 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
9356d43787
ui: change menu toggle shortcut 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
e4aec7c17e
ui: add shortcuts in compose menu 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
c3adc244d7
ui: Implement fmt::Display for Key 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
a774aaebf6
ui: fix boundary drawing in Thread 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
1aa4eaa314
ui: add paste event to Field 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
1867bb6aa3
ui: hide divider column in VSplit if !self.show_divider 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
d50c201776
ui: add hide menu shortcut 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
d5c1da4a20
ui: add contact selectors to every relevant field
concerns #38
2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
e5856bd01e
ui: Pin first children in Tabbed 2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
4c26077f30
ui: word break with grapheme length, not bytes
​#69 East characters are not working.
2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
9522508a92
Update broken reply_context drawing
concerns #38
2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
39c8082a47
Distinguish far right selected tab from background 2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
2b06dd1aca
ui: fix pager from_buf reflowing incompatibility 2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
0b76307e30
ui: add grapheme cluster support in text input
closes #60
2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
bf038428c2
Run rustfmt 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
e7c95ba229
Clear closed tabs in tabbed area 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
bbd1918d70
Add text reflowing in pager and compose
concerns #69
2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
ea65989679
Move terminal stuff in its own module 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
da256be25c
Fix compose pager redrawing bug 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
5bffd8e966
Store Addressbook in JSON 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
b437e55b67
use shortcuts from config or default
closes #63
2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
1f200cfc88
Fix compact listing defaults 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
5e306130fb
Fix clippy warnings 2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
d4c64916f0
Add configurable shortcuts for compact mail listing
concerns #63
2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
1bb1cf7aac
add notification filter
concerns #64
2019-06-10 19:40:38 +03:00
Manos Pitsidianakis
712652a4c8
Fix xdg notification format
Concerns #64
2019-06-10 19:40:38 +03:00
Manos Pitsidianakis
d285913974
Add shortcut panel
Concerns #63
2019-06-10 19:40:38 +03:00
Manos Pitsidianakis
12cc9950c7
add close action in Contacts List 2019-06-10 19:40:38 +03:00
Manos Pitsidianakis
f748f1e692
edit headers with a form in composer 2019-06-10 19:40:38 +03:00
Manos Pitsidianakis
f93310d424
Add Field type for FormWidgets 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
bac75b96dd
Add Contact create 2019-06-10 19:40:38 +03:00
Manos Pitsidianakis
7a0223c9b3
fix buttons/form scrolling issue 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
4ee5447cf9
Add FormWidget/ButtonWidget and use them in Contacts 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
ba6c7d0d7b
Add ContactList component
concerns #11
2019-06-10 19:40:37 +03:00
Manos Pitsidianakis
99d0f81b60
check for needless allocation in CellBuffer::resize() 2019-06-10 19:40:37 +03:00
Manos Pitsidianakis
abf8878b39
add set_id() method in Component trait 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
d5c0f113d8
Accept future dates in format_date
closes #49
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
5c45910426
ui: move accounts to conf module 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis
998414aa5a
ui: escape xml chars in notifications
closes #52
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
b0097574a5
ui: change notification hints 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis
679bbb1a04
ui: edit notification format 2019-06-10 19:40:35 +03:00
Manos Pitsidianakis
3f9ea25899
ui: add pageup-dn movements in compact listing 2019-06-10 19:40:35 +03:00
Manos Pitsidianakis
3b4e4195d6
ui: in threadview, skip entry list if length == 1 2019-06-10 19:40:35 +03:00
Manos Pitsidianakis
b25e59370a
ui: remove useless self.dirty sets 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
c619d46861
ui: don't block while waiting for Listing status 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
1e04e6a4ea
ui: Add bracketed paste mode
closes #42
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
2fcd014bfe
melib: Fix incorrect thread child linking 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
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
13b3808f30
ui: Add FolderConf struct in configuration 2019-06-10 19:40:33 +03:00
Manos Pitsidianakis
31014e275a
ui: add visual separators for accounts in menu
tracking issue: #25
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
91760e5be6
ui: add close dialog in compose tab discard 2019-06-10 19:40:32 +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
a20e7ac5c2
ui: select From identities in compose tab
Tracking issue #24
2019-06-10 19:40:32 +03:00
Manos Pitsidianakis
d8f81cb596
ui: Remove box chars from AccountMenu 2019-06-10 19:40:32 +03:00
Manos Pitsidianakis
d0315a0259
ui: Hide cursor on all occasions 2019-06-10 19:40:32 +03:00