Manos Pitsidianakis
24831b3c13
Fix warnings, lints, and 2018 errors
2019-06-18 21:14:14 +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
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
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
c6674a294d
melib: unwrap mailbox module
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
d8651db93a
delete mailbox_view module
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
f51ea93351
move grapheme stuff to melib
2019-06-10 19:40:49 +03:00
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
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
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
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