summaryrefslogtreecommitdiffstats
path: root/src/files.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/files.rs')
-rw-r--r--src/files.rs15
1 files changed, 15 insertions, 0 deletions
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 {