Add select_by_name function
This commit is contained in:
parent
b9f959a298
commit
a1558b20c6
2 changed files with 13 additions and 13 deletions
|
|
@ -446,15 +446,11 @@ impl Application for App {
|
|||
}
|
||||
}
|
||||
Message::Filename(new_filename) => {
|
||||
if let DialogKind::SaveFile { filename } = &mut self.flags.kind {
|
||||
*filename = new_filename.clone();
|
||||
}
|
||||
|
||||
// Select based on filename
|
||||
if let Some(items) = self.tab.items_opt_mut() {
|
||||
for item in items.iter_mut() {
|
||||
item.selected = item.name == new_filename;
|
||||
}
|
||||
self.tab.select_by_name(&new_filename);
|
||||
|
||||
if let DialogKind::SaveFile { filename } = &mut self.flags.kind {
|
||||
*filename = new_filename;
|
||||
}
|
||||
}
|
||||
Message::Modifiers(modifiers) => {
|
||||
|
|
|
|||
14
src/tab.rs
14
src/tab.rs
|
|
@ -605,10 +605,6 @@ impl Tab {
|
|||
self.items_opt.as_ref()
|
||||
}
|
||||
|
||||
pub fn items_opt_mut(&mut self) -> Option<&mut Vec<Item>> {
|
||||
self.items_opt.as_mut()
|
||||
}
|
||||
|
||||
pub fn set_items(&mut self, items: Vec<Item>) {
|
||||
self.items_opt = Some(items);
|
||||
}
|
||||
|
|
@ -639,7 +635,7 @@ impl Tab {
|
|||
had_selection
|
||||
}
|
||||
|
||||
fn select_by_drag(&mut self, rect: Rectangle) {
|
||||
pub fn select_by_drag(&mut self, rect: Rectangle) {
|
||||
let items = match &mut self.items_opt {
|
||||
Some(some) => some,
|
||||
None => return,
|
||||
|
|
@ -654,6 +650,14 @@ impl Tab {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn select_by_name(&mut self, name: &str) {
|
||||
if let Some(ref mut items) = self.items_opt {
|
||||
for item in items.iter_mut() {
|
||||
item.selected = item.name == name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn selection_first(&self) -> Option<(usize, usize)> {
|
||||
let items = self.items_opt.as_ref()?;
|
||||
let mut first = None;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue