diff options
author | Daniel Milde <daniel@milde.cz> | 2024-04-24 15:30:44 +0200 |
---|---|---|
committer | Daniel Milde <daniel@milde.cz> | 2024-04-24 16:07:50 +0200 |
commit | 688804fff1eda6172b159c76c8f4b09a92c97b12 (patch) | |
tree | 535de8669af10144a1dbdc19e01459d40c548f34 | |
parent | 9bbddf56dfc490322c88b147baa92d8386ed5132 (diff) |
refactor: constants for sorting
-rw-r--r-- | tui/sort.go | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/tui/sort.go b/tui/sort.go index 2e2af32..049b79a 100644 --- a/tui/sort.go +++ b/tui/sort.go @@ -7,67 +7,77 @@ import ( "github.com/dundee/gdu/v5/pkg/fs" ) +const ( + nameSortKey = "name" + sizeSortKey = "size" + itemCountSortKey = "itemCount" + mtimeSortKey = "mtime" + + ascOrder = "asc" + descOrder = "desc" +) + // SetDefaultSorting sets the default sorting func (ui *UI) SetDefaultSorting(by, order string) { if by != "" { ui.defaultSortBy = by } - if order == "asc" || order == "desc" { + if order == ascOrder || order == descOrder { ui.defaultSortOrder = order } } func (ui *UI) setSorting(newOrder string) { if newOrder == ui.sortBy { - if ui.sortOrder == "asc" { - ui.sortOrder = "desc" + if ui.sortOrder == ascOrder { + ui.sortOrder = descOrder } else { - ui.sortOrder = "asc" + ui.sortOrder = ascOrder } } else { ui.sortBy = newOrder - ui.sortOrder = "asc" + ui.sortOrder = ascOrder } if ui.currentDir != nil { ui.showDir() - } else if ui.devices != nil && (newOrder == "size" || newOrder == "name") { + } else if ui.devices != nil && (newOrder == sizeSortKey || newOrder == nameSortKey) { ui.showDevices() } } func (ui *UI) sortItems() { - if ui.sortBy == "size" { + if ui.sortBy == sizeSortKey { if ui.ShowApparentSize { - if ui.sortOrder == "desc" { + if ui.sortOrder == descOrder { sort.Sort(sort.Reverse(fs.ByApparentSize(ui.currentDir.GetFiles()))) } else { sort.Sort(fs.ByApparentSize(ui.currentDir.GetFiles())) } } else { - if ui.sortOrder == "desc" { + if ui.sortOrder == descOrder { sort.Sort(sort.Reverse(ui.currentDir.GetFiles())) } else { sort.Sort(ui.currentDir.GetFiles()) } } } - if ui.sortBy == "itemCount" { - if ui.sortOrder == "desc" { + if ui.sortBy == itemCountSortKey { + if ui.sortOrder == descOrder { sort.Sort(sort.Reverse(fs.ByItemCount(ui.currentDir.GetFiles()))) } else { sort.Sort(fs.ByItemCount(ui.currentDir.GetFiles())) } } - if ui.sortBy == "name" { - if ui.sortOrder == "desc" { + if ui.sortBy == nameSortKey { + if ui.sortOrder == descOrder { sort.Sort(sort.Reverse(fs.ByName(ui.currentDir.GetFiles()))) } else { sort.Sort(fs.ByName(ui.currentDir.GetFiles())) } } - if ui.sortBy == "mtime" { - if ui.sortOrder == "desc" { + if ui.sortBy == mtimeSortKey { + if ui.sortOrder == descOrder { sort.Sort(sort.Reverse(fs.ByMtime(ui.currentDir.GetFiles()))) } else { sort.Sort(fs.ByMtime(ui.currentDir.GetFiles())) @@ -76,15 +86,15 @@ func (ui *UI) sortItems() { } func (ui *UI) sortDevices() { - if ui.sortBy == "size" { - if ui.sortOrder == "desc" { + if ui.sortBy == sizeSortKey { + if ui.sortOrder == descOrder { sort.Sort(sort.Reverse(device.ByUsedSize(ui.devices))) } else { sort.Sort(device.ByUsedSize(ui.devices)) } } - if ui.sortBy == "name" { - if ui.sortOrder == "desc" { + if ui.sortBy == nameSortKey { + if ui.sortOrder == descOrder { sort.Sort(sort.Reverse(device.ByName(ui.devices))) } else { sort.Sort(device.ByName(ui.devices)) |