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
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
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
99fbac3806
Remove unused variables/functions
4 years ago
Manos Pitsidianakis
0882dbbad0
melib/Collection: put all fields behind a mutex
4 years ago
Manos Pitsidianakis
08d8c05a67
CompactListing: update self.rows{,_drawn} on row update
...
self.rows{,_drawn} were left unupdated, and stale envelope hashes could
result in panics
4 years ago
Manos Pitsidianakis
1bac926bdc
CompactListing: add row_attr macro
...
Add macro to calculate theme attribute for given thread row
4 years ago
Manos Pitsidianakis
5e1fa2d8d7
CompactListing: add select command
...
Select envelopes based on query
4 years ago
Manos Pitsidianakis
ddafde7b37
jobs: save handle for each Job
...
If we save the JoinHandle for each task, we can cancel it in future
commits if we have to timeout network requests.
4 years ago
Manos Pitsidianakis
a7e177586a
Fix clippy lints
4 years ago
Manos Pitsidianakis
bbedeed3e3
More imap async fixes
4 years ago
Manos Pitsidianakis
4721073bc3
Rename jobs1 to jobs
4 years ago
Manos Pitsidianakis
e06308fed2
MailBackend: change more methods to Futures
4 years ago
Manos Pitsidianakis
bfbaf3d617
Utilize EnvelopeRemove events
...
EnvelopeRemove events were not ever used in the UI
4 years ago
Manos Pitsidianakis
efb06be09b
melib: return Result<_> from operation()
...
Envelope might have been deleted before main thread requests an
operation, which is a race condition.
4 years ago
Manos Pitsidianakis
ca11c8e474
Remove useless debug prints
4 years ago
Manos Pitsidianakis
c07185a3aa
regexp: add priority field to regular expressions
4 years ago
Manos Pitsidianakis
465c78e903
Add Cell::keep_attrs() method
4 years ago
Manos Pitsidianakis
a17f0b4fd4
listing: rework MailListingTrait
...
split redraw_list() to redraw_threads_list() and redraw_envelope_list()
4 years ago
Manos Pitsidianakis
a86c1cbb26
listing: redraw on EnvelopeUpdate events
4 years ago
Manos Pitsidianakis
c5fe511d95
notmuch: don't remove tags from tag_index
...
When removing a tag, we shouldn't also remove it from the tag index.
4 years ago
Manos Pitsidianakis
eb701695f7
Remove fnv crate
4 years ago
Manos Pitsidianakis
d8135674df
themes: add {even,odd}_unseen, {even,odd}_selected, {even,odd}_highlighted
...
Suggested in #21
5 years ago
Manos Pitsidianakis
4930d1b46c
Add Italics, Blink, Dim and Hidden text attributes
...
Text attributes have been rewritten as bit flags, so for example instead of
"BoldUnderline" you'd have to define "Bold | Underline" in your theme
settings.
Requested in #21
5 years ago
Manos Pitsidianakis
3d7b9ff7cb
Move Query to melib
5 years ago
Manos Pitsidianakis
fd60be482f
Open sidebar for mailbox navigation with Left/Right arrow keys
...
Left/Right arrow keys change focus between the sidebar and mailbox
listing. If focused on sidebar, move arrow keys to select mailbox and
open with 'Enter'. Press Right arrow key to return to mailbox listing.
- Mailbox focused:
+--+-------------+
|~ |=============|
|~ |=============|
| |=============|
|~ |=============|
|~ |=============|
+--+-------------+
- Press `Left` arrow key
- Menu focused:
+--------+-------+
|~~~~ |=======|
|~~ |=======|
| |=======|
|~~~ |=======|
|~~~~ |=======|
+--------+-------+
- Press `Right` arrow key to return
5 years ago
Manos Pitsidianakis
840005022c
themes: add default tag theme attribute
...
The theme attribute key is "mail.listing.tag_default"
5 years ago
Manos Pitsidianakis
9ff54f236b
Add conf_override! macro
...
conf_override! wraps struct definitions and defines a secondary Override
struct that wraps each field in an Option. The macro mailbox_settings!
is used to select settings from an account & mailbox index. If a user defines an overriding setting, the macro returns the override instead of the immediately next in the hierarchy setting.
The selection is done for a specific field as follows:
if per-folder override is defined, return per-folder override
else if per-account override is defined, return per-account override
else return global setting field value.
5 years ago
Manos Pitsidianakis
651dda67cf
Respect autoload mailbox setting
5 years ago
Manos Pitsidianakis
106dae3334
Add config overrides to mailbox filter
...
If per-folder config filter is defined, it overrides the app-wide
filter.
5 years ago
Manos Pitsidianakis
a3600c0cd2
Add `filter` option in mail list
...
Filter mail in mail list.
Example:
[listing]
filter = "not flags:seen" # show only unseen messages
5 years ago
Manos Pitsidianakis
bae083cc8f
Rename Filter action to search
5 years ago
Manos Pitsidianakis
4ac52d9d5b
Replace every use of Folder with Mailbox
...
Use Mailbox for consistency.
5 years ago
Manos Pitsidianakis
b6efb14824
melib: remove Mailbox
...
Refactor Collection from melib to hold what folders have what envelopes.
Frontend accounts will now have a FolderEntry for each logical folder
and will unify many Account fields into one and eliminate a lot of
duplicate/dead code.
5 years ago
Manos Pitsidianakis
aab6b02db2
ui: clear selection with Esc
5 years ago
Manos Pitsidianakis
14b0ef8f37
Respect use_color conf value as well as NO_COLOR
5 years ago
Manos Pitsidianakis
22fb0c0844
ui: handle ViewMailbox in listing.rs
...
handling viewmailbox inside a listing instead of their parent/manager
component is a leftover from before they even had a parent/manager.
5 years ago
Manos Pitsidianakis
647cb10b33
ui: Use FolderHash instead of usize for folder cursor
...
Use FolderHash directly as a cursor type for folders within an account
isntead of having a usize (being the order of the folder within the
account) and figuring out the folder_hash everytime it's needed.
Add OfflineListing for offline accounts and AccountStatusChange event.
5 years ago