From 7dcc3d8eabfba6a7c4cdd36165d55c4d2f48a82c Mon Sep 17 00:00:00 2001 From: Polesznyák Márk Date: Thu, 29 Jan 2026 18:27:54 +0100 Subject: feat: set parent window of rfd dialogs --- src/main.rs | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) (limited to 'src/main.rs') 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) => { -- cgit v1.2.3