Optimized code for fsentry

This commit is contained in:
ChristianVisintin
2020-12-12 16:32:21 +01:00
parent f73e43304e
commit 57e83a63dd
5 changed files with 10 additions and 40 deletions

View File

@@ -147,10 +147,7 @@ impl FileTransferActivity {
}
// Check if file entry exists
if let Some(entry) = self.local.files.get(self.local.index) {
let full_path: PathBuf = match entry {
FsEntry::Directory(dir) => dir.abs_path.clone(),
FsEntry::File(file) => file.abs_path.clone(),
};
let full_path: PathBuf = entry.get_abs_path();
// Rename file or directory and report status as popup
match self
.context
@@ -194,10 +191,7 @@ impl FileTransferActivity {
FileExplorerTab::Remote => {
// Check if file entry exists
if let Some(entry) = self.remote.files.get(self.remote.index) {
let full_path: PathBuf = match entry {
FsEntry::Directory(dir) => dir.abs_path.clone(),
FsEntry::File(file) => file.abs_path.clone(),
};
let full_path: PathBuf = entry.get_abs_path();
// Rename file or directory and report status as popup
let dst_path: PathBuf = PathBuf::from(input);
match self.client.rename(entry, dst_path.as_path()) {
@@ -247,10 +241,7 @@ impl FileTransferActivity {
FileExplorerTab::Local => {
// Check if file entry exists
if let Some(entry) = self.local.files.get(self.local.index) {
let full_path: PathBuf = match entry {
FsEntry::Directory(dir) => dir.abs_path.clone(),
FsEntry::File(file) => file.abs_path.clone(),
};
let full_path: PathBuf = entry.get_abs_path();
// Delete file or directory and report status as popup
match self.context.as_mut().unwrap().local.remove(entry) {
Ok(_) => {
@@ -283,10 +274,7 @@ impl FileTransferActivity {
FileExplorerTab::Remote => {
// Check if file entry exists
if let Some(entry) = self.remote.files.get(self.remote.index) {
let full_path: PathBuf = match entry {
FsEntry::Directory(dir) => dir.abs_path.clone(),
FsEntry::File(file) => file.abs_path.clone(),
};
let full_path: PathBuf = entry.get_abs_path();
// Delete file
match self.client.remove(entry) {
Ok(_) => {

View File

@@ -474,10 +474,7 @@ impl FileTransferActivity {
match &dir.symlink {
Some(symlink) => {
// Get symlink path
let symlink_path: &Path = match &**symlink {
FsEntry::Directory(s_dir) => s_dir.abs_path.as_path(),
FsEntry::File(s_file) => s_file.abs_path.as_path(),
};
let symlink_path: PathBuf = symlink.get_abs_path();
format!(
"{} => {}",
dir.abs_path.display(),
@@ -570,10 +567,7 @@ impl FileTransferActivity {
match &file.symlink {
Some(symlink) => {
// Get symlink path
let symlink_path: &Path = match &**symlink {
FsEntry::Directory(s_dir) => s_dir.abs_path.as_path(),
FsEntry::File(s_file) => s_file.abs_path.as_path(),
};
let symlink_path: PathBuf = symlink.get_abs_path();
format!(
"{} => {}",
file.abs_path.display(),