summaryrefslogtreecommitdiffstats
path: root/src/components/mail/listing.rs
AgeCommit message (Collapse)Author
2020-10-11Add import mail actionManos Pitsidianakis
2020-10-05listing: fix menu gaining focus if not visibleManos Pitsidianakis
2020-09-17sidebar: add customizable mailbox treeManos Pitsidianakis
Concerns #72
2020-09-13NotificationType: add melib::ErrorKindManos Pitsidianakis
2020-09-11melib/maildir: impl copy_messages for MaildirManos Pitsidianakis
2020-09-11listing: select multiple messages with a motionManos Pitsidianakis
- 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
2020-08-27Small fixesManos Pitsidianakis
2020-08-26Add logging level to Generic jobsManos Pitsidianakis
Not every job success should be shown to the user, for example updating the sqlite3 database. So introduce a level to only show relevant notifications.
2020-08-26Add edit envelope action back as asyncManos Pitsidianakis
2020-08-26Preserve Account order from configuration fileManos Pitsidianakis
Use IndexMap to preserve the order of accounts in the UI from the account definitions.
2020-08-02mail/listing: use mailbox count() total instead of loaded totalManos Pitsidianakis
2020-07-26mail/listing*: clear selection after perform_action()Manos Pitsidianakis
2020-07-25Rename EXECUTE mode to COMMANDManos Pitsidianakis
vim uses COMMAND, and we want to be consistent with vim when possible.
2020-07-25conf/accounts.rs: use mailbox alias if available in MailboxEntry::name()Manos Pitsidianakis
2020-07-25melib/MailBackend: add copy_messages,set_flags,delete_messages methodsManos Pitsidianakis
2020-07-23themes: add mail.sidebar_account_name keyManos Pitsidianakis
2020-07-23melib/Collection: put all fields behind a mutexManos Pitsidianakis
2020-07-15jobs: save handle for each JobManos Pitsidianakis
If we save the JoinHandle for each task, we can cancel it in future commits if we have to timeout network requests.
2020-07-06More imap async fixesManos Pitsidianakis
2020-07-06BackendOp: return future in as_bytes()Manos Pitsidianakis
2020-07-06MailBackend: change more methods to FuturesManos Pitsidianakis
2020-07-06BackendOp: Change set_{flag,tag} methodsManos Pitsidianakis
2020-06-23melib: return Result<_> from operation()Manos Pitsidianakis
Envelope might have been deleted before main thread requests an operation, which is a race condition.
2020-06-22Remove useless debug printsManos Pitsidianakis
2020-06-08Add copy/move to other account operationsManos Pitsidianakis
2020-06-07listing: rework MailListingTraitManos Pitsidianakis
split redraw_list() to redraw_threads_list() and redraw_envelope_list()
2020-05-11listing.rs: don't create unnecessary operationManos Pitsidianakis
2020-05-10Remove fnv crateManos Pitsidianakis
2020-05-08Refactor OfflineListingManos Pitsidianakis
Move offline status drawing to OfflineListing
2020-04-05Add open_mailbox shortcut for sidebarManos Pitsidianakis
2020-04-05themes: add {even,odd}_unseen, {even,odd}_selected, {even,odd}_highlightedManos Pitsidianakis
Suggested in #21
2020-04-05Add Italics, Blink, Dim and Hidden text attributesManos Pitsidianakis
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
2020-04-04Open sidebar for mailbox navigation with Left/Right arrow keysManos Pitsidianakis
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
2020-04-03themes: add default tag theme attributeManos Pitsidianakis
The theme attribute key is "mail.listing.tag_default"
2020-03-18Add conf_override! macroManos Pitsidianakis
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.
2020-03-02Respect autoload mailbox settingManos Pitsidianakis
2020-03-01Add config overrides to mailbox filterManos Pitsidianakis
If per-folder config filter is defined, it overrides the app-wide filter.
2020-03-01Add delete, copy actions for envelopesManos Pitsidianakis
2020-02-28Check ComponentId equality on Composer::kill()Manos Pitsidianakis
2020-02-26Rename Filter action to searchManos Pitsidianakis
2020-02-26Add search shortcut to shortcut mapManos Pitsidianakis
2020-02-26Replace every use of Folder with MailboxManos Pitsidianakis
Use Mailbox for consistency.
2020-02-10melib: remove MailboxManos Pitsidianakis
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.
2020-02-09ui: Consume Esc input events only when necessaryManos Pitsidianakis
2020-02-09Respect use_color conf value as well as NO_COLORManos Pitsidianakis
2020-02-08ui: handle ViewMailbox in listing.rsManos Pitsidianakis
handling viewmailbox inside a listing instead of their parent/manager component is a leftover from before they even had a parent/manager.
2020-02-08ui: Use FolderHash instead of usize for folder cursorManos Pitsidianakis
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.
2020-02-08ui: change Component::get_status return typeManos Pitsidianakis
There was no reason to return Option<String>, just return String::new() instead of Option::None
2020-02-08ui: add ThemeAttribute argument to clear_area()Manos Pitsidianakis
clear_area() sets the cleared cell attributes according to the new argument.
2020-02-08ui: force refresh_mailbox etc on Mailbox{Delete,Create}Manos Pitsidianakis