diff options
author | Guillaume Ranquet <granquet@baylibre.com> | 2022-07-19 21:43:01 +0200 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2022-08-25 12:52:39 +0300 |
commit | d921b3c3209ff7fe865b5a3b90e20098b3ff211f (patch) | |
tree | bb9338db66add2ee0fba9eca1fb9bcbb73fabe1e | |
parent | 9205f3b8afe28ef3a68959d590ed967946a5d622 (diff) | |
download | meli-d921b3c3209ff7fe865b5a3b90e20098b3ff211f.zip |
compact.rs: use mail sorting parameters from config
Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
-rw-r--r-- | src/components/mail/listing/compact.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/components/mail/listing/compact.rs b/src/components/mail/listing/compact.rs index 66c27eb0..955310c8 100644 --- a/src/components/mail/listing/compact.rs +++ b/src/components/mail/listing/compact.rs @@ -165,6 +165,7 @@ pub struct CompactListing { new_cursor_pos: (AccountHash, MailboxHash, usize), length: usize, sort: (SortField, SortOrder), + sortcmd: bool, subsort: (SortField, SortOrder), all_threads: HashSet<ThreadHash>, order: HashMap<ThreadHash, usize>, @@ -316,6 +317,10 @@ impl MailListingTrait for CompactListing { let threads = account.collection.get_threads(self.cursor_pos.1); self.order.clear(); + // Use account settings only if no sortcmd has been used + if !self.sortcmd { + self.sort = context.accounts[&self.cursor_pos.0].settings.account.order + } self.length = 0; let mut rows = Vec::with_capacity(1024); let mut min_width = (0, 0, 0, 0); @@ -877,6 +882,7 @@ impl CompactListing { new_cursor_pos: (coordinates.0, coordinates.1, 0), length: 0, sort: (Default::default(), Default::default()), + sortcmd: false, subsort: (SortField::Date, SortOrder::Desc), all_threads: HashSet::default(), order: HashMap::default(), @@ -1791,6 +1797,7 @@ impl Component for CompactListing { Action::Sort(field, order) if !self.unfocused => { debug!("Sort {:?} , {:?}", field, order); self.sort = (*field, *order); + self.sortcmd = true; if !self.filtered_selection.is_empty() { // FIXME: perform sort self.dirty = true; |