From 1fd25d35c3b1989f6d9a243571095251bcc29535 Mon Sep 17 00:00:00 2001 From: rabite Date: Tue, 9 Apr 2019 19:22:42 +0200 Subject: add/remove placeholder when dir becomes empty/populated --- src/files.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/files.rs b/src/files.rs index f374974..0fd1ea2 100644 --- a/src/files.rs +++ b/src/files.rs @@ -363,10 +363,25 @@ impl Files { new.selected = selected; self.files.push(new); }); + self.sort(); + + if self.len() == 0 { + let placeholder = File::new_placeholder(&self.directory.path)?; + self.files.push(placeholder); + } else { + self.remove_placeholder(); + } + Ok(()) } + fn remove_placeholder(&mut self) { + let dirpath = self.directory.path.clone(); + self.find_file_with_path(&dirpath).cloned() + .map(|placeholder| self.files.remove_item(&placeholder)); + } + pub fn handle_event(&mut self, event: &DebouncedEvent) -> HResult<()> { match event { -- cgit v1.2.3