feat: first take at M2

This commit is contained in:
2026-04-04 18:04:39 +02:00
parent b532104032
commit eedd0a9118
33 changed files with 2899 additions and 78 deletions

View File

@@ -0,0 +1,35 @@
use iced::Task;
use crate::app::Message;
/// Pick a folder using the native file dialog.
pub fn pick_folder() -> Task<Message> {
Task::perform(
async {
rfd::AsyncFileDialog::new()
.set_title("Select Folder")
.pick_folder()
.await
.map(|h| h.path().to_path_buf())
},
Message::FolderPicked,
)
}
/// Pick one or more image/media files using the native file dialog.
pub fn pick_media_files() -> Task<Message> {
Task::perform(
async {
rfd::AsyncFileDialog::new()
.set_title("Import Media")
.add_filter(
"Images",
&["jpg", "jpeg", "png", "gif", "webp", "svg", "tiff", "bmp"],
)
.pick_files()
.await
.map(|hs| hs.into_iter().map(|h| h.path().to_path_buf()).collect())
},
Message::MediaFilesPicked,
)
}