Manos Pitsidianakis
5ba7b2cd7b
meli: fix clippy lints for meli binary
2 years ago
Manos Pitsidianakis
104352e595
Add table UI widget
2 years ago
Manos Pitsidianakis
cc439b239a
mail/listing.rs: add RowsState struct
...
Keep state of rows in lists in this struct to reduce code duplication in
list implementations
2 years ago
Manos Pitsidianakis
c54a31f7cc
listing/offline.rs: break line for error messages
2 years ago
Manos Pitsidianakis
a7a50d3078
src/: Box<_> some large fields in biggest types
...
As reported by `cargo +nightly typesize`
2 years ago
Manos Pitsidianakis
94bd84b45d
Fix clippy lints for `meli` crate
2 years ago
Manos Pitsidianakis
388d4e35d6
listing/offline.rs: add in-progress messages while connecting in IMAP
2 years ago
Manos Pitsidianakis
8c7b001aa5
listing/conversations.rs: add `thread_subject_pack` command to pack different inner thread subjects in entry title
2 years ago
Manos Pitsidianakis
9dc4d4055c
listing: add focus_{left,right} shortcuts to switch focus
...
This allows you to make the mail entry column occupy the whole screen if
you press focus_right (Right key) twice.
2 years ago
Manos Pitsidianakis
f76f4ea3f7
docs: add meli.7, a general tutorial document
...
This commit also changes some shortcut names.
2 years ago
Manos Pitsidianakis
bde87af387
Refactor filter() method in Listing trait
2 years ago
Manos Pitsidianakis
9cb66ef818
Fix all clippy warnings in `meli` crate
2 years ago
Guillaume Ranquet
d921b3c320
compact.rs: use mail sorting parameters from config
...
Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2 years ago
Manos Pitsidianakis
ed3dbc8586
listing/conversations: fix crashes when listing is empty
2 years ago
Manos Pitsidianakis
8563bccd1b
listing/conversations: don't cache CellBuffer, only row info
...
Caching a CellBuffer (a terminal grid view) takes too much RAM on big
mailboxes. Store just the information needed to write each row entry
when needed to draw a page instead.
2 years ago
Manos Pitsidianakis
2eb22a290a
Stop hardcoding certain component colors
...
`Color::Byte` references were before themes were introduced in the code
base. Their presence is a bug and they should all be replaced by theme
values.
Closes #124
Stop hardcoding certain component colors #124
https://git.meli.delivery/meli/meli/issues/124
2 years ago
Manos Pitsidianakis
05393d8caa
listing/conversations: highlight two rows instead of three
3 years ago
Manos Pitsidianakis
5a9f63c51e
listing/compact: Fix off-by-one error in area calculation
3 years ago
Manos Pitsidianakis
9d7e877510
listing/plain: move flags to subject column
3 years ago
Manos Pitsidianakis
ad2a10478e
listing/compact: move flags to subject column
...
Flags (attachment, unseen, etc) being their own column
overcomplicated code, so just prepend them to subject column.
3 years ago
Manos Pitsidianakis
64b62352d0
listing: add {unseen,selected,attachment,thread_snoozed} flag config values
3 years ago
Manos Pitsidianakis
b411daddaa
listing/conversations: remove entry padding box character
...
Remove padding each entry with '░' box character.
3 years ago
Manos Pitsidianakis
781a1d0e1b
melib/backends: add collection() method to MailBackend
...
Keep track of the Collection state in the backend side
3 years ago
Manos Pitsidianakis
6d63429ad3
Add scrolling context to StatusBar
...
- Whenever a scrolling context is entered/exited, send a ScrollUpdate event.
- StatusBar maintains a stack of scrolling contexts and displays the
last one, if it exists. Each context is associated with a ComponentId.
- To handle dangling contexts after their Components aren't visible
anymore, send a VisibilityChange event in situations where that scenario
is possible.
3 years ago
Manos Pitsidianakis
3dba6fdf60
melib/datetime: add posix locale arg in timestamp_to_string()
3 years ago
Manos Pitsidianakis
2d5f5e767c
listing/conversations: hash addr by addr_spec in from_address_list
...
While accumulating addresses for the 'From' list for each envelope
entry, hash the addresses by the address spec (i.e. the email address)
instead of the entire address. This prevents duplicates of the same
email address but with different display names.
3 years ago
Manos Pitsidianakis
ed826357a3
Don't unwrap try_recv() on async jobs channels
...
Job might have been canceled.
3 years ago
Manos Pitsidianakis
48e7a493a9
Add reload-config command
...
Closes #84 Add "reload configuration" command
4 years ago
Manos Pitsidianakis
e5b0ff4fe2
state: remove runtime_settings
4 years ago
Manos Pitsidianakis
6dd3b0bb4f
Fix theme_default not being respected
4 years ago
Manos Pitsidianakis
b659749880
listing: scroll account sidebar menu
...
Closes #85 Accounts sidebar doesn't scroll
4 years ago
Manos Pitsidianakis
31e4ed006d
listing: fix off by one error in PageDown movement
4 years ago
Manos Pitsidianakis
594a2bd0dd
listing: add set operations to range select actions
...
Add symmetric difference (default), union, difference and intersection
modifiers for selecting ranges. That way you can quickly construct the
selection set you need.
4 years ago
Manos Pitsidianakis
05ef863a45
utilities: move PageMovement to components mod
4 years ago
Manos Pitsidianakis
310d02042f
Rename toggle_thread_snooze to "toggle thread_snooze"
...
For consistency with other toggle commands.
4 years ago
Manos Pitsidianakis
a4b78532b7
Refactor job structs into JoinHandle
...
Put oneshot::channel<R> into JoinHandle<R>
4 years ago
Manos Pitsidianakis
fadf20d7b1
NotificationType: add melib::ErrorKind
4 years ago
Manos Pitsidianakis
51db5b6c2f
listing/conversations: redraw selection undo on Esc
4 years ago
Manos Pitsidianakis
14de776314
listing/plain: add row_attr! macro
4 years ago
Manos Pitsidianakis
20b02ffd4f
Lookup tag color/ignore settings in all three setting levels
...
There are three setting levels for tag settings:
- per mailbox override ^
- per account override |
- global setting |
depth
So lookup in each of them in this order for configuration, not just the
deepest level.
4 years ago
Manos Pitsidianakis
4829e13c47
melib/maildir: impl copy_messages for Maildir
4 years ago
Manos Pitsidianakis
a1585d4006
components/listing: draw rows select status at all times
4 years ago
Manos Pitsidianakis
ed27ed604c
listing: select multiple messages with a motion
...
- Press a number (movement multiplier)
- Press "select_entry" shortcut (default: v)
- Press a movement (arrow keys, PageUp/Down, Home/End)
- Resulting selection will be symmetric difference of previous selection
plus all the entries traversed with movement
4 years ago
Manos Pitsidianakis
14663e46b9
Remove some old TODO comments
4 years ago
Manos Pitsidianakis
8a6bf3b217
Preserve Account order from configuration file
...
Use IndexMap to preserve the order of accounts in the UI from the
account definitions.
4 years ago
Manos Pitsidianakis
fe4dae12df
listing/*: show MailboxEntry::status() when length is 0
...
Show the MailboxEntry::status() string when self.length == 0, instead of
"MAILBOX is empty".
4 years ago
Manos Pitsidianakis
70a4409e59
mail/listing*: various theme color fixes
4 years ago
Manos Pitsidianakis
26b327d86a
mail/listing*: clear selection after perform_action()
4 years ago
Manos Pitsidianakis
00acba7717
melib/MailBackend: add copy_messages,set_flags,delete_messages methods
4 years ago
Manos Pitsidianakis
f9efaea0ec
ConversationsListing: fix invalid update_line colors
4 years ago