diff options
| author | Polesznyák Márk <contact@pml68.dev> | 2026-01-29 18:27:54 +0100 |
|---|---|---|
| committer | Polesznyák Márk <contact@pml68.dev> | 2026-01-29 18:27:54 +0100 |
| commit | 7dcc3d8eabfba6a7c4cdd36165d55c4d2f48a82c (patch) | |
| tree | f291953090670ef149db37770bdd70578690fb15 /src/main.rs | |
| parent | chore: bump MSRV to match iced's (diff) | |
| download | iced-builder-7dcc3d8eabfba6a7c4cdd36165d55c4d2f48a82c.tar.gz | |
feat: set parent window of rfd dialogs
Diffstat (limited to '')
| -rw-r--r-- | src/main.rs | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/src/main.rs b/src/main.rs index 107dd3f..9a93b51 100644 --- a/src/main.rs +++ b/src/main.rs @@ -350,13 +350,10 @@ impl IcedBuilder { dialog::Action::UnsavedChanges(_) ) { self.is_loading = true; - Task::perform( - self.project - .clone() - .write_to_file(self.project_path.clone()), - Message::FileSaved, - ) - .chain(Task::done(Message::DialogNo)) + self.project + .write_to_file(self.project_path.clone()) + .map(Message::FileSaved) + .chain(Task::done(Message::DialogNo)) } else { self.update(Message::CloseDialog) }; @@ -377,11 +374,9 @@ impl IcedBuilder { UnsavedChanges::Open => { self.is_dirty = false; self.is_loading = true; - task = Task::perform( - Project::from_file(), - Message::FileOpened, - ) - .chain(task); + task = Project::from_file() + .map(Message::FileOpened) + .chain(task); } UnsavedChanges::Exit => { return self.update(Message::CloseApp); @@ -414,10 +409,7 @@ impl IcedBuilder { if !self.is_dirty { self.is_loading = true; - return Task::perform( - Project::from_file(), - Message::FileOpened, - ); + return Project::from_file().map(Message::FileOpened); } else { self.dialog = Dialog::unsaved_changes( "You have unsaved changes. Do you want to save them before opening another project?", @@ -453,12 +445,10 @@ impl IcedBuilder { self.is_loading = true; self.is_dialog_open = true; - return Task::perform( - self.project - .clone() - .write_to_file(self.project_path.clone()), - Message::FileSaved, - ); + return self + .project + .write_to_file(self.project_path.clone()) + .map(Message::FileSaved); } } Message::SaveFileAs => { @@ -466,10 +456,10 @@ impl IcedBuilder { self.is_loading = true; self.is_dialog_open = true; - return Task::perform( - self.project.clone().write_to_file(None), - Message::FileSaved, - ); + return self + .project + .write_to_file(None) + .map(Message::FileSaved); } } Message::FileSaved(result) => { |
