Use Location::path_opt for checking for location path
This commit is contained in:
parent
50d721479d
commit
116774d5fa
2 changed files with 21 additions and 24 deletions
36
src/app.rs
36
src/app.rs
|
|
@ -1353,11 +1353,8 @@ impl App {
|
||||||
let mut title_location_opt = None;
|
let mut title_location_opt = None;
|
||||||
if let Some(tab) = self.tab_model.data_mut::<Tab>(tab) {
|
if let Some(tab) = self.tab_model.data_mut::<Tab>(tab) {
|
||||||
let location_opt = match term_opt {
|
let location_opt = match term_opt {
|
||||||
Some(term) => match &tab.location {
|
Some(term) => tab.location.path_opt().map(|path| {
|
||||||
Location::Desktop(path, ..)
|
(
|
||||||
| Location::Network(_, _, Some(path))
|
|
||||||
| Location::Path(path)
|
|
||||||
| Location::Search(path, ..) => Some((
|
|
||||||
Location::Search(
|
Location::Search(
|
||||||
path.to_path_buf(),
|
path.to_path_buf(),
|
||||||
term,
|
term,
|
||||||
|
|
@ -1365,9 +1362,8 @@ impl App {
|
||||||
Instant::now(),
|
Instant::now(),
|
||||||
),
|
),
|
||||||
true,
|
true,
|
||||||
)),
|
)
|
||||||
_ => None,
|
}),
|
||||||
},
|
|
||||||
None => match &tab.location {
|
None => match &tab.location {
|
||||||
Location::Search(path, ..) => Some((Location::Path(path.to_path_buf()), false)),
|
Location::Search(path, ..) => Some((Location::Path(path.to_path_buf()), false)),
|
||||||
_ => None,
|
_ => None,
|
||||||
|
|
@ -4380,20 +4376,22 @@ impl Application for App {
|
||||||
_ => ClipboardKind::Copy,
|
_ => ClipboardKind::Copy,
|
||||||
};
|
};
|
||||||
let ret = match &tab.location {
|
let ret = match &tab.location {
|
||||||
Location::Path(p) => self.update(Message::PasteContents(
|
|
||||||
p.clone(),
|
|
||||||
ClipboardPaste {
|
|
||||||
kind,
|
|
||||||
paths: data.paths,
|
|
||||||
},
|
|
||||||
)),
|
|
||||||
Location::Trash if matches!(action, DndAction::Move) => {
|
Location::Trash if matches!(action, DndAction::Move) => {
|
||||||
self.delete(data.paths)
|
self.delete(data.paths)
|
||||||
}
|
}
|
||||||
_ => {
|
_ => match tab.location.path_opt() {
|
||||||
log::warn!("Copy to trash is not supported.");
|
Some(path) => self.update(Message::PasteContents(
|
||||||
Task::none()
|
path.clone(),
|
||||||
}
|
ClipboardPaste {
|
||||||
|
kind,
|
||||||
|
paths: data.paths,
|
||||||
|
},
|
||||||
|
)),
|
||||||
|
None => {
|
||||||
|
log::warn!("{:?} to {:?} is not supported.", action, tab.location);
|
||||||
|
Task::none()
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -704,8 +704,8 @@ impl App {
|
||||||
|
|
||||||
fn search_set(&mut self, term_opt: Option<String>) -> Task<Message> {
|
fn search_set(&mut self, term_opt: Option<String>) -> Task<Message> {
|
||||||
let location_opt = match term_opt {
|
let location_opt = match term_opt {
|
||||||
Some(term) => match &self.tab.location {
|
Some(term) => self.tab.location.path_opt().map(|path| {
|
||||||
Location::Path(path) | Location::Search(path, ..) => Some((
|
(
|
||||||
Location::Search(
|
Location::Search(
|
||||||
path.to_path_buf(),
|
path.to_path_buf(),
|
||||||
term,
|
term,
|
||||||
|
|
@ -713,9 +713,8 @@ impl App {
|
||||||
Instant::now(),
|
Instant::now(),
|
||||||
),
|
),
|
||||||
true,
|
true,
|
||||||
)),
|
)
|
||||||
_ => None,
|
}),
|
||||||
},
|
|
||||||
None => match &self.tab.location {
|
None => match &self.tab.location {
|
||||||
Location::Search(path, ..) => Some((Location::Path(path.to_path_buf()), false)),
|
Location::Search(path, ..) => Some((Location::Path(path.to_path_buf()), false)),
|
||||||
_ => None,
|
_ => None,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue