Manos Pitsidianakis
734bc109b0
ui: refactor menu
2019-08-18 15:47:10 +03:00
Manos Pitsidianakis
1845b046fa
ui: add attribute support
...
bold/italic etc
2019-08-18 15:47:09 +03:00
Manos Pitsidianakis
2610e9c055
ui: don't check terminal size in ThreadView
2019-08-17 12:56:11 +03:00
Manos Pitsidianakis
c0dcd7254a
ui: bound check in draw_horz in ThreadView
2019-08-17 12:26:32 +03:00
Manos Pitsidianakis
e5f8714162
ui: make wide chars occupy more than one cell
...
If setting a wide char to a Cell, mark the next one as empty in order to
skip printing it.
This prevents the following misalignment:
| subject
|📎 Fwd: RE:
| second subject
2019-08-17 12:22:54 +03:00
Manos Pitsidianakis
af573b57f1
ui: add nonavailable folder checks
2019-08-15 11:30:25 +03:00
Manos Pitsidianakis
16a5d9b28a
ui, ThreadView: update seen flag in ThreadEntries
...
Update seen flag when receiving EnvelopeRename events.
2019-08-04 00:30:40 +03:00
Manos Pitsidianakis
84950ad740
ui, CompactListing: Don't accept listing actions if unfocused
2019-08-04 00:28:20 +03:00
Manos Pitsidianakis
fed13816dd
Bump version to all workspace crates
2019-08-03 23:59:49 +03:00
Manos Pitsidianakis
22f11445e2
Print error and exit if Maildir path config is wrong
2019-08-03 23:55:32 +03:00
Manos Pitsidianakis
bc7da4610e
Send MailboxUpdate events when threads are updated
...
Depending on the insertion order of folders which is non-deterministic
because it relies on the kernel's scheduling of parsing threads, the
listing the user sees might not be up-to-date because later thread
updates are never broadcast. This results in inconsistencies between
threads and mail listings when a thread's root envelope was part of a
not broadcast update leading to `key not found` panics in a listing's
hashmaps.
2019-08-02 15:17:23 +03:00
Manos Pitsidianakis
714f8255fc
ui: fix pageup/dn behaviour
2019-08-02 01:00:54 +03:00
Matthias Beyer
678921d2b7
Remove unused imports
...
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:54 +03:00
Matthias Beyer
fecb66e877
Print to stderr when printing error
...
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:53 +03:00
Matthias Beyer
02bfda5eed
Prefix unused variables with underscore
...
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:53 +03:00
Matthias Beyer
092f3694d2
Print error message to stderr
...
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
d3c658cf00
ui: add attachments in composer tab
2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
131b4abfbe
ui: use $EDITOR
2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
d73069bc80
melib: add Other and OctetStream content types
2019-08-02 00:22:20 +03:00
Manos Pitsidianakis
c17bb24f0d
melib: refactor attachments and attachment_types interfaces
2019-07-30 21:33:15 +03:00
Manos Pitsidianakis
4f5bcfd1d4
fix compilation error on bsds
2019-07-30 17:56:50 +03:00
Manos Pitsidianakis
38da6c83b9
melib: add read-only support for mbox
2019-07-28 20:20:14 +03:00
Manos Pitsidianakis
8a0e702127
melib,ui: add MailboxEntry enum
...
Use an enum to describe a mailbox's state in ui::conf::Account instead
of Result.
2019-07-28 20:15:41 +03:00
Manos Pitsidianakis
d84ceca88e
create text_processing crate
2019-07-27 01:41:04 +03:00
Manos Pitsidianakis
ff37e97cba
ui: add From header in list unsubscribe e-mails
2019-07-22 15:14:39 +03:00
Manos Pitsidianakis
8543a06f59
ui: rename ignore to subscribe to match IMAP term
2019-07-18 20:26:49 +03:00
Manos Pitsidianakis
6e63e8a6f6
ui: rename read/unread uses to seen/unseen
2019-07-18 20:23:02 +03:00
Manos Pitsidianakis
a62f1d6c01
add read-only option in accounts
2019-07-18 20:16:51 +03:00
Matthias Beyer
1e729010c1
replace deprecated trim_right() with trim_end()
...
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Message-Id: <20190714115231.7002-1-mail@beyermatthias.de>
2019-07-15 10:49:19 +03:00
Manos Pitsidianakis
f13da6a26a
ui: Add pipe action for Pager
2019-07-15 00:12:01 +03:00
Manos Pitsidianakis
0925f2a439
ui: restore Page{Up,Dn} to Pager
...
When issuing PageUp and PageDn actions to an e-mail pager in
CompactListing, the input action was handled by listing and not the
pager which led to the keys get seemingly ignored.
2019-07-13 22:52:42 +03:00
Manos Pitsidianakis
46a0574713
ui: permanently mark selected rows in self.data_columns
...
`self.draw_list` detects `bg_color` by checking the first cell of the first column, so set it to make it permanent
2019-07-11 12:29:17 +03:00
Manos Pitsidianakis
93f3d6e230
remove std::dbg uses
2019-07-09 13:05:11 +03:00
Manos Pitsidianakis
70e5949590
ui: add autocomplete for commands in execute bar
2019-07-06 20:44:51 +03:00
Manos Pitsidianakis
a028aa9a44
ui: change contact list header colors
2019-07-06 20:36:59 +03:00
Manos Pitsidianakis
74be47ec5a
ui: fix some lints
2019-07-06 12:47:27 +03:00
Manos Pitsidianakis
a655a85b5f
ui: fix replies not being synced and inserted properly on RefreshEvents
2019-07-06 12:46:45 +03:00
Manos Pitsidianakis
b5ba9c3a8c
ui: force redraw CompactListing after EnvelopeRename event
2019-07-06 00:19:37 +03:00
Manos Pitsidianakis
ff2c030c0f
ui: process refresh events immediately
2019-07-06 00:18:55 +03:00
Manos Pitsidianakis
34054d46ea
ui: print and set environment variables
2019-06-26 18:56:29 +03:00
Manos Pitsidianakis
8fefdf80ad
ui: don't send StartupCheck or MailboxUpdate on Envelope change events
2019-06-25 10:41:55 +03:00
Manos Pitsidianakis
22dbc7dd9f
ui: don't print empty history or duplicates
2019-06-25 10:37:19 +03:00
Manos Pitsidianakis
f4f3b87f84
ui: add selections to CompactListing
...
Select multiple entries by pressing 'v'. Set read/unread and delete
actions are then performed on the selected entries.
2019-06-25 10:37:18 +03:00
Manos Pitsidianakis
8c97336307
ui: add set as read/unread, delete actions
...
Implemented only in compact listing for now.
2019-06-23 11:42:48 +03:00
Manos Pitsidianakis
e0e520b2c4
ui: add filter method in ListingTrait
...
Implemented in CompactListing only for now. Filter results are stored in
the filter* fields of the struct.
2019-06-22 16:13:40 +03:00
Manos Pitsidianakis
bb292486f4
ui: expand Listing trait with draw_list and highlight_line
...
In the course of making the Listing trait a generic way for any kind of
listing (eg. NNTP, RSS, et all)
2019-06-21 12:02:11 +03:00
Manos Pitsidianakis
04fc510ea8
meli: insert new standalone nodes in insert_reply
2019-06-19 19:40:15 +03:00
Manos Pitsidianakis
06862c1484
ui: prevent some unnecessary redraws
2019-06-19 19:39:23 +03:00
Manos Pitsidianakis
9026fb866e
ui: Add ability to call mailing list actions from Envelope view
2019-06-18 22:16:32 +03:00
Manos Pitsidianakis
07700ca00f
ui: Add possible mailing list actions from List-* headers
2019-06-18 22:01:02 +03:00
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