Set select_focus when selecting by name or path
This commit is contained in:
parent
f823d17524
commit
06b8132aa3
1 changed files with 8 additions and 2 deletions
10
src/tab.rs
10
src/tab.rs
|
|
@ -1844,20 +1844,26 @@ impl Tab {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn select_name(&mut self, name: &str) {
|
pub fn select_name(&mut self, name: &str) {
|
||||||
|
self.select_focus = None;
|
||||||
if let Some(ref mut items) = self.items_opt {
|
if let Some(ref mut items) = self.items_opt {
|
||||||
for item in items.iter_mut() {
|
for (i, item) in items.iter_mut().enumerate() {
|
||||||
item.selected = item.name == name;
|
item.selected = item.name == name;
|
||||||
|
if item.selected {
|
||||||
|
self.select_focus = Some(i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn select_paths(&mut self, paths: Vec<PathBuf>) {
|
pub fn select_paths(&mut self, paths: Vec<PathBuf>) {
|
||||||
|
self.select_focus = None;
|
||||||
if let Some(ref mut items) = self.items_opt {
|
if let Some(ref mut items) = self.items_opt {
|
||||||
for item in items.iter_mut() {
|
for (i, item) in items.iter_mut().enumerate() {
|
||||||
item.selected = false;
|
item.selected = false;
|
||||||
if let Some(path) = item.path_opt() {
|
if let Some(path) = item.path_opt() {
|
||||||
if paths.contains(path) {
|
if paths.contains(path) {
|
||||||
item.selected = true;
|
item.selected = true;
|
||||||
|
self.select_focus = Some(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue