fix infinite dialog on network mount failure
This commit is contained in:
parent
24e34eaa0f
commit
95035166d3
3 changed files with 19 additions and 9 deletions
|
|
@ -659,7 +659,7 @@ impl Mounter for Gvfs {
|
|||
)
|
||||
}
|
||||
|
||||
fn network_drive(&self, uri: String) -> Task<()> {
|
||||
fn network_drive(&self, uri: String) -> Task<bool> {
|
||||
let command_tx = self.command_tx.clone();
|
||||
Task::perform(
|
||||
async move {
|
||||
|
|
@ -668,9 +668,15 @@ impl Mounter for Gvfs {
|
|||
command_tx.send(Cmd::NetworkDrive(uri, res_tx)).unwrap();
|
||||
res_rx.await
|
||||
},
|
||||
|x| {
|
||||
if let Err(err) = x {
|
||||
|result| match result {
|
||||
Ok(Ok(())) => true,
|
||||
Ok(Err(err)) => {
|
||||
log::error!("{err:?}");
|
||||
false
|
||||
}
|
||||
Err(err) => {
|
||||
log::error!("{err:?}");
|
||||
false
|
||||
}
|
||||
},
|
||||
)
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ pub trait Mounter: Send + Sync {
|
|||
fn items(&self, sizes: IconSizes) -> Option<MounterItems>;
|
||||
//TODO: send result
|
||||
fn mount(&self, item: MounterItem) -> Task<()>;
|
||||
fn network_drive(&self, uri: String) -> Task<()>;
|
||||
fn network_drive(&self, uri: String) -> Task<bool>;
|
||||
fn network_scan(&self, uri: &str, sizes: IconSizes) -> Option<Result<Vec<tab::Item>, String>>;
|
||||
fn dir_info(&self, uri: &str) -> Option<(String, String, Option<PathBuf>)>;
|
||||
fn unmount(&self, item: MounterItem) -> Task<()>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue