aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2024-05-24 15:15:52 +0530
committerkrolxon <krolyxon@tutanota.com>2024-05-24 15:15:52 +0530
commit48fd5a7508ca960ebcaabb6ad7f7b820d2013b23 (patch)
tree4d83284d37ae560a44fc698bf5c57e54f49a70e9
parente3ba0169eae10a705ede011cd69667f0013630cc (diff)
fix #6
-rwxr-xr-xsrc/browser.rs16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/browser.rs b/src/browser.rs
index 3ec0fac..f1972ef 100755
--- a/src/browser.rs
+++ b/src/browser.rs
@@ -66,13 +66,17 @@ impl FileBrowser {
dir_vec.sort_by(|a, b| {
let num_a = a.1.parse::<u32>().unwrap_or(u32::MAX);
let num_b = b.1.parse::<u32>().unwrap_or(u32::MAX);
- num_a.cmp(&num_b).then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase()))
+ num_a
+ .cmp(&num_b)
+ .then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase()))
});
file_vec.sort_by(|a, b| {
let num_a = a.1.parse::<u32>().unwrap_or(u32::MAX);
let num_b = b.1.parse::<u32>().unwrap_or(u32::MAX);
- num_a.cmp(&num_b).then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase()))
+ num_a
+ .cmp(&num_b)
+ .then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase()))
});
dir_vec.extend(file_vec);
@@ -128,9 +132,11 @@ impl FileBrowser {
/// handles going back event
pub fn handle_go_back(&mut self, conn: &mut Connection) -> AppResult<()> {
if self.prev_path != "." {
- let r = self.path.rfind('/').unwrap();
- self.path = self.path.as_str()[..r].to_string();
- self.update_directory(conn)?;
+ let r = self.path.rfind('/');
+ if let Some(r) = r {
+ self.path = self.path.as_str()[..r].to_string();
+ self.update_directory(conn)?;
+ }
} else {
self.path = self.prev_path.clone();
self.update_directory(conn)?;