summaryrefslogtreecommitdiffstats
path: root/src/app/widgets/base/sort_text_table.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/widgets/base/sort_text_table.rs')
-rw-r--r--src/app/widgets/base/sort_text_table.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/app/widgets/base/sort_text_table.rs b/src/app/widgets/base/sort_text_table.rs
index 001624a4..c107dae0 100644
--- a/src/app/widgets/base/sort_text_table.rs
+++ b/src/app/widgets/base/sort_text_table.rs
@@ -307,6 +307,21 @@ where
&self.table.columns
}
+ pub fn reverse_current_sort(&mut self) {
+ if self.is_sort_descending() {
+ self.table.columns[self.sort_index].set_sorting_status(SortStatus::SortAscending);
+ } else {
+ self.table.columns[self.sort_index].set_sorting_status(SortStatus::SortDescending);
+ }
+ }
+
+ pub fn is_sort_descending(&self) -> bool {
+ matches!(
+ self.table.columns[self.sort_index].sorting_status(),
+ SortStatus::SortDescending
+ )
+ }
+
pub fn set_column(&mut self, mut column: S, index: usize) {
if let Some(old_column) = self.table.columns().get(index) {
column.set_sorting_status(old_column.sorting_status());