diff options
author | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-05-14 17:59:34 -0400 |
---|---|---|
committer | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-05-14 18:04:16 -0400 |
commit | 1456b65de3d9b16ed4292af925928ec4da826a6a (patch) | |
tree | d6de9e8f87edc6e258adf5a74d12cd3c0163eb51 /src/fs/dirlist.rs | |
parent | 216ca0938f36476e221276f2f63d68bf8b9d770c (diff) |
fix set_mode not working
Diffstat (limited to 'src/fs/dirlist.rs')
-rw-r--r-- | src/fs/dirlist.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/fs/dirlist.rs b/src/fs/dirlist.rs index adc848a..b80e05b 100644 --- a/src/fs/dirlist.rs +++ b/src/fs/dirlist.rs @@ -108,13 +108,21 @@ impl JoshutoDirList { Ok(()) } - pub fn selected_entries(&self) -> impl Iterator<Item = &JoshutoDirEntry> { + pub fn any_selected(&self) -> bool { + self.contents.iter().any(|e| e.is_selected()) + } + + pub fn iter_selected(&self) -> impl Iterator<Item = &JoshutoDirEntry> { self.contents.iter().filter(|entry| entry.is_selected()) } + pub fn iter_selected_mut(&mut self) -> impl Iterator<Item = &mut JoshutoDirEntry> { + self.contents.iter_mut().filter(|entry| entry.is_selected()) + } + pub fn get_selected_paths(&self) -> Vec<path::PathBuf> { let vec: Vec<path::PathBuf> = self - .selected_entries() + .iter_selected() .map(|e| e.file_path().to_path_buf()) .collect(); if !vec.is_empty() { |