diff options
author | qkzk <qu3nt1n@gmail.com> | 2023-12-20 13:18:31 +0100 |
---|---|---|
committer | qkzk <qu3nt1n@gmail.com> | 2023-12-20 13:18:31 +0100 |
commit | 46c052bcd7260db0e9b6d6eec08cd4e82b7286db (patch) | |
tree | 79624e43453122335ef4ff9a04ed438b7d3b1621 | |
parent | 2b0699cf720ab9aa1ce328744c93259120916b7c (diff) |
don't use option for menu removable devices
-rw-r--r-- | src/app/status.rs | 2 | ||||
-rw-r--r-- | src/event/event_exec.rs | 2 | ||||
-rw-r--r-- | src/io/display.rs | 4 | ||||
-rw-r--r-- | src/modes/edit/menu.rs | 6 | ||||
-rw-r--r-- | src/modes/edit/removable_devices.rs | 10 |
5 files changed, 7 insertions, 17 deletions
diff --git a/src/app/status.rs b/src/app/status.rs index 09d02d7..bfb65a1 100644 --- a/src/app/status.rs +++ b/src/app/status.rs @@ -223,7 +223,7 @@ impl Status { Navigate::History => self.current_tab_mut().history.set_index(index), Navigate::Jump => self.menu.flagged.set_index(index), Navigate::Marks(_) => self.menu.marks.set_index(index), - Navigate::RemovableDevices => self.menu.removable_set_index(index), + Navigate::RemovableDevices => self.menu.removable_devices.set_index(index), Navigate::Shortcut => self.menu.shortcut.set_index(index), Navigate::Trash => self.menu.trash.set_index(index), Navigate::TuiApplication => self.menu.tui_applications.set_index(index), diff --git a/src/event/event_exec.rs b/src/event/event_exec.rs index 389d5d7..47f849e 100644 --- a/src/event/event_exec.rs +++ b/src/event/event_exec.rs @@ -894,7 +894,7 @@ impl EventAction { log_line!("gio must be installed."); return Ok(()); } - status.menu.removable_devices = RemovableDevices::from_gio(); + status.menu.removable_devices = RemovableDevices::from_gio().unwrap_or_default(); status.set_edit_mode(status.index, Edit::Navigate(Navigate::RemovableDevices)) } diff --git a/src/io/display.rs b/src/io/display.rs index 0cf7344..1dfd857 100644 --- a/src/io/display.rs +++ b/src/io/display.rs @@ -1031,9 +1031,7 @@ impl<'a> WinSecondary<'a> { } fn draw_removable(&self, canvas: &mut dyn Canvas) -> Result<()> { - if let Some(removables) = &self.status.menu.removable_devices { - self.draw_mountable_devices(removables, canvas)?; - } + self.draw_mountable_devices(&self.status.menu.removable_devices, canvas)?; Ok(()) } diff --git a/src/modes/edit/menu.rs b/src/modes/edit/menu.rs index e5c398d..6f1beb3 100644 --- a/src/modes/edit/menu.rs +++ b/src/modes/edit/menu.rs @@ -152,9 +152,10 @@ impl Menu { } pub fn mount_removable(&mut self) -> Result<()> { - let Some(device) = &self.removable_devices.selected_mut() else { + if self.removable_devices.is_empty() { return Ok(()); }; + let device = &mut self.removable_devices.content[self.removable_devices.index]; if device.is_mounted() { return Ok(()); } @@ -163,9 +164,10 @@ impl Menu { } pub fn umount_removable(&mut self) -> Result<()> { - let Some(device) = &self.removable_devices.selected_mut() else { + if self.removable_devices.is_empty() { return Ok(()); }; + let device = &mut self.removable_devices.content[self.removable_devices.index]; if !device.is_mounted() { return Ok(()); } diff --git a/src/modes/edit/removable_devices.rs b/src/modes/edit/removable_devices.rs index e54dfd1..1625576 100644 --- a/src/modes/edit/removable_devices.rs +++ b/src/modes/edit/removable_devices.rs @@ -51,16 +51,6 @@ impl RemovableDevices { Some(Self { content, index: 0 }) } } - - /// Mutable reference to the selected element. - /// None if the content is empty (aka no removable device detected) - pub fn selected_mut(&mut self) -> Option<&mut Removable> { - if self.content.is_empty() { - None - } else { - Some(&mut self.content[self.index]) - } - } } /// Holds a MTP device name, a path and a flag set to true |