1use native_dialog::{DialogBuilder, MessageLevel};
2
3fn echo<T: std::fmt::Debug>(name: &str, value: &T) {
4 DialogBuilder::message()
5 .set_title("Result")
6 .set_text(format!("{}:\n{:#?}", &name, &value))
7 .alert()
8 .show()
9 .unwrap();
10}
11
12fn main() {
13 let result = DialogBuilder::message()
14 .set_title("Tour")
15 .set_text("Do you want to begin the tour?")
16 .set_level(MessageLevel::Warning)
17 .confirm()
18 .show()
19 .unwrap();
20 if !result {
21 return;
22 }
23 echo("show_confirm", &result);
24
25 let result = DialogBuilder::file()
26 .set_location("~")
27 .open_single_file()
28 .show()
29 .unwrap();
30 echo("show_open_single_file", &result);
31
32 let result = DialogBuilder::file()
33 .add_filter("Rust Source", &["rs"])
34 .add_filter("Image", &["png", "jpg", "gif"])
35 .open_multiple_file()
36 .show()
37 .unwrap();
38 echo("show_open_multiple_file", &result);
39
40 let result = DialogBuilder::file().open_single_dir().show().unwrap();
41 echo("show_open_single_dir", &result);
42
43 let result = DialogBuilder::file()
44 .add_filter("Rust Source", &["rs"])
45 .add_filter("Image", &["png", "jpg", "gif"])
46 .save_single_file()
47 .show()
48 .unwrap();
49 echo("show_save_single_file", &result);
50
51 DialogBuilder::message()
52 .set_title("End")
53 .set_text("That's the end!")
54 .alert()
55 .show()
56 .unwrap();
57}