Saving file and dealing with all errors.
This commit is contained in:
parent
9ed44a9a68
commit
542923ccef
23
src/main.rs
23
src/main.rs
@ -1,4 +1,5 @@
|
|||||||
use eframe::egui;
|
use eframe::egui;
|
||||||
|
use std::io::Write as _;
|
||||||
|
|
||||||
use billy_sheet::gui::SheetGui;
|
use billy_sheet::gui::SheetGui;
|
||||||
|
|
||||||
@ -40,16 +41,20 @@ impl eframe::App for Gui {
|
|||||||
_frame.close();
|
_frame.close();
|
||||||
}
|
}
|
||||||
if ui.button("Save in json").clicked() {
|
if ui.button("Save in json").clicked() {
|
||||||
let sheet_str = serde_json::to_string(&self.sheet);
|
let result = serde_json::to_string_pretty(&self.sheet);
|
||||||
let path = std::path::Path::new("./sheet.json");
|
match result {
|
||||||
if path.exists() {
|
Ok(sheet_str) => {
|
||||||
if let Err(a) = std::fs::remove_file(path) {
|
let path = std::path::Path::new("./sheet.json");
|
||||||
println!("{a}");
|
match std::fs::File::create(path) {
|
||||||
} else {
|
Ok(mut file) => {
|
||||||
|
if let Err(err) = write!(file, "{}", sheet_str) {
|
||||||
|
println!("{err}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Err(error) => println!("{error}"),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
Err(error) => println!("{error}"),
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user