summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs42
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) => {