diff --git a/src/gui/draw.rs b/src/gui/draw.rs index edecda8..57285f4 100644 --- a/src/gui/draw.rs +++ b/src/gui/draw.rs @@ -223,10 +223,10 @@ impl SoundpadGui { } ui.horizontal(|ui| { - let add_dir_button = Button::new(icons::ICON_ADD).frame(false); - let add_dir_button_response = ui.add_sized([18.0, 18.0], add_dir_button); - if add_dir_button_response.clicked() { - self.add_dir(); + let add_dirs_button = Button::new(icons::ICON_ADD).frame(false); + let add_dirs_button_response = ui.add_sized([18.0, 18.0], add_dirs_button); + if add_dirs_button_response.clicked() { + self.add_dirs(); } }); diff --git a/src/gui/mod.rs b/src/gui/mod.rs index 33d47fc..26c15ed 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -79,10 +79,12 @@ impl SoundpadGui { } } - pub fn add_dir(&mut self) { + pub fn add_dirs(&mut self) { let file_dialog = FileDialog::new(); - if let Some(path) = file_dialog.pick_folder() { - self.app_state.dirs.insert(path); + if let Some(paths) = file_dialog.pick_folders() { + for path in paths { + self.app_state.dirs.insert(path); + } self.config.dirs = self.app_state.dirs.clone(); self.config.save_to_file().ok(); }