Commit Graph

82 Commits

Author SHA1 Message Date
Manos Pitsidianakis
321be8555f
Cleanup startup error exit paths
Make startup methods return Results so that the main binary can exit
cleanly instead of using std::process::exit from arbitrary positions,
which exits the process immediately and doesn't run destructors.
2019-11-16 00:33:22 +02:00
Manos Pitsidianakis
99da9a35b6
Add embed pty support
Emulate a terminal within meli. In the next commit it will be used to
embed an editor in the composing tab.

This is a non-complete xterm emulation that has some bugs.
2019-11-05 08:37:27 +02:00
Manos Pitsidianakis
a9425be61e
ui/contacts: add side-menu, remove accounts tab
- Rename accounts tab to status tab
- add side menu to contacts tab to switch between accounts
2019-10-26 15:58:56 +03:00
Manos Pitsidianakis
212e9bd701
Revert "Show manuals with command line arguments"
Since this commit requires `mandoc` as a build dependency, it is removed
for now until a better compromise is found.

This reverts commit 6a8f869e5b.
2019-10-24 12:19:29 +03:00
Manos Pitsidianakis
6a8f869e5b
Show manuals with command line arguments
Add --manual, --conf-manual command line arguments that display manpages
through a pager. If no pager is found, this currently fails. It should
print the manuals to stdout instead.

The manuals are read from src/manuals and are generated with mandoc
whenever changes to the manpage sources meli.1 and meli.conf.5 are made.
2019-10-23 10:45:13 +03:00
Manos Pitsidianakis
ee9ffffa12
bin: C-L issues manual redraw 2019-10-03 19:11:28 +03:00
Manos Pitsidianakis
d44a68ec69
ui: don't quit if editing a draft
Ask user to save draft or discard it.
2019-09-27 13:40:02 +03:00
Manos Pitsidianakis
b07db29a19
ui: add timer tick every 300ms
Check for pending events in the main process by receiving a timer event
every 300ms. This way loaded folders or received emails will get
recognized even if the appropriate informing signals got lost.
2019-09-22 11:00:05 +03:00
Manos Pitsidianakis
f394fde143
add priority and info to jobs and workers
jobs now have a priority given to them, in order to parse some mailboxes
(eg INBOX, Sent) first.

worker threads now can set their names and status
2019-09-15 13:21:14 +03:00
Manos Pitsidianakis
81a55abc7c
Update crossbeam to 0.7.2 and remove chan 2019-09-15 13:21:14 +03:00
Matthias Beyer
6e716946b7
Reformat to be a proper rust comment
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
2a1bf37e69
Add --version command line flag 2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
df5559023d
add --help, --config, --create-config arguments 2019-07-29 20:22:34 +03:00
Manos Pitsidianakis
93f3d6e230
remove std::dbg uses 2019-07-09 13:05:11 +03:00
Manos Pitsidianakis
fb406667ab
add debug! macro to replace eprintlns 2019-06-10 19:40:46 +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
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
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
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
1867bb6aa3
ui: hide divider column in VSplit if !self.show_divider 2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
a2e81ed354
ui: enter EX mode with space 2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
bf038428c2
Run rustfmt 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
4ee5447cf9
Add FormWidget/ButtonWidget and use them in Contacts 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
92bb3bf8d3
ui: add contacts and account panel 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis
5a28320004
WIP 2019-06-10 19:40:36 +03:00
Manos Pitsidianakis
fae1cdd33e
melib: Re-implement JWZ threading algorithm 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
3e9d137310
melib: rework mail events
closes #39
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
2b6d1e0dbf
Run clippy lints 2019-06-10 19:40:31 +03:00
Manos Pitsidianakis
ad5d2353e8
Add plain threadview 2019-06-10 19:40:30 +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
5889494e9e
Move backend logic to backend and keep Envelope abstract 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
0c018dd544
Remove excess redraw in event loop 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
f16fd889e4
Add deleting in ex mode 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
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