fix: sort closest match size by distance
This commit is contained in:
parent
9b68d41b77
commit
933153f9bb
1 changed files with 15 additions and 1 deletions
|
|
@ -68,7 +68,21 @@ impl Theme {
|
|||
fn closest_match_size(&self, size: u16, scale: u16) -> Vec<PathBuf> {
|
||||
let dirs = self.get_all_directories();
|
||||
|
||||
dirs.filter(|directory| directory.directory_size_distance(size, scale) < i16::MAX)
|
||||
let mut dirs: Vec<_> = dirs
|
||||
.filter_map(|directory| {
|
||||
let distance = directory.directory_size_distance(size, scale);
|
||||
if distance < i16::MAX {
|
||||
Some((directory, distance))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
|
||||
dirs.sort_by(|(_, a), (_, b)| a.cmp(b));
|
||||
|
||||
dirs.iter()
|
||||
.map(|(dir, _)| dir)
|
||||
.map(|dir| dir.name)
|
||||
.map(|dir| self.path().join(dir))
|
||||
.collect()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue