pub struct FileDialog<'a> { /* private fields */ }Expand description
Builds and shows file dialogs.
Implementations§
Source§impl<'a> FileDialog<'a>
impl<'a> FileDialog<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a file dialog builder.
Examples found in repository?
11fn main() {
12 let result = MessageDialog::new()
13 .set_title("Tour")
14 .set_text("Do you want to begin the tour?")
15 .set_type(MessageType::Warning)
16 .show_confirm()
17 .unwrap();
18 if !result {
19 return;
20 }
21 echo("show_confirm", &result);
22
23 let result = FileDialog::new()
24 .set_location("~")
25 .show_open_single_file()
26 .unwrap();
27 echo("show_open_single_file", &result);
28
29 let result = FileDialog::new()
30 .add_filter("Rust Source", &["rs"])
31 .add_filter("Image", &["png", "jpg", "gif"])
32 .show_open_multiple_file()
33 .unwrap();
34 echo("show_open_multiple_file", &result);
35
36 let result = FileDialog::new().show_open_single_dir().unwrap();
37 echo("show_open_single_dir", &result);
38
39 let result = FileDialog::new()
40 .add_filter("Rust Source", &["rs"])
41 .add_filter("Image", &["png", "jpg", "gif"])
42 .show_save_single_file()
43 .unwrap();
44 echo("show_save_single_file", &result);
45
46 MessageDialog::new()
47 .set_title("End")
48 .set_text("That's the end!")
49 .show_alert()
50 .unwrap();
51}Sourcepub fn set_filename(self, filename: &'a str) -> Self
pub fn set_filename(self, filename: &'a str) -> Self
Sets the default value of the filename text field in the dialog. For open dialogs of macOS and zenity, this is a no-op because there’s no such text field on the dialog.
Sourcepub fn reset_filename(self) -> Self
pub fn reset_filename(self) -> Self
Resets the default value of the filename field in the dialog.
Sourcepub fn set_location<P: AsRef<Path> + ?Sized>(self, path: &'a P) -> Self
pub fn set_location<P: AsRef<Path> + ?Sized>(self, path: &'a P) -> Self
Sets the default location that the dialog shows at open.
Examples found in repository?
11fn main() {
12 let result = MessageDialog::new()
13 .set_title("Tour")
14 .set_text("Do you want to begin the tour?")
15 .set_type(MessageType::Warning)
16 .show_confirm()
17 .unwrap();
18 if !result {
19 return;
20 }
21 echo("show_confirm", &result);
22
23 let result = FileDialog::new()
24 .set_location("~")
25 .show_open_single_file()
26 .unwrap();
27 echo("show_open_single_file", &result);
28
29 let result = FileDialog::new()
30 .add_filter("Rust Source", &["rs"])
31 .add_filter("Image", &["png", "jpg", "gif"])
32 .show_open_multiple_file()
33 .unwrap();
34 echo("show_open_multiple_file", &result);
35
36 let result = FileDialog::new().show_open_single_dir().unwrap();
37 echo("show_open_single_dir", &result);
38
39 let result = FileDialog::new()
40 .add_filter("Rust Source", &["rs"])
41 .add_filter("Image", &["png", "jpg", "gif"])
42 .show_save_single_file()
43 .unwrap();
44 echo("show_save_single_file", &result);
45
46 MessageDialog::new()
47 .set_title("End")
48 .set_text("That's the end!")
49 .show_alert()
50 .unwrap();
51}Sourcepub fn reset_location(self) -> Self
pub fn reset_location(self) -> Self
Resets the default location that the dialog shows at open. Without a default location set, the dialog will probably use the current working directory as default location.
Sourcepub fn add_filter(self, description: &'a str, extensions: &'a [&'a str]) -> Self
pub fn add_filter(self, description: &'a str, extensions: &'a [&'a str]) -> Self
Adds a file type filter. The filter must contains at least one extension, otherwise this method will panic. For dialogs that open directories, this is a no-op.
Examples found in repository?
11fn main() {
12 let result = MessageDialog::new()
13 .set_title("Tour")
14 .set_text("Do you want to begin the tour?")
15 .set_type(MessageType::Warning)
16 .show_confirm()
17 .unwrap();
18 if !result {
19 return;
20 }
21 echo("show_confirm", &result);
22
23 let result = FileDialog::new()
24 .set_location("~")
25 .show_open_single_file()
26 .unwrap();
27 echo("show_open_single_file", &result);
28
29 let result = FileDialog::new()
30 .add_filter("Rust Source", &["rs"])
31 .add_filter("Image", &["png", "jpg", "gif"])
32 .show_open_multiple_file()
33 .unwrap();
34 echo("show_open_multiple_file", &result);
35
36 let result = FileDialog::new().show_open_single_dir().unwrap();
37 echo("show_open_single_dir", &result);
38
39 let result = FileDialog::new()
40 .add_filter("Rust Source", &["rs"])
41 .add_filter("Image", &["png", "jpg", "gif"])
42 .show_save_single_file()
43 .unwrap();
44 echo("show_save_single_file", &result);
45
46 MessageDialog::new()
47 .set_title("End")
48 .set_text("That's the end!")
49 .show_alert()
50 .unwrap();
51}Sourcepub fn remove_all_filters(self) -> Self
pub fn remove_all_filters(self) -> Self
Removes all file type filters.
Sourcepub fn set_owner<W: HasRawWindowHandle>(self, window: &W) -> Self
pub fn set_owner<W: HasRawWindowHandle>(self, window: &W) -> Self
Sets the owner of the dialog. On Unix and GNU/Linux, this is a no-op.
Sourcepub unsafe fn set_owner_handle(self, handle: RawWindowHandle) -> Self
pub unsafe fn set_owner_handle(self, handle: RawWindowHandle) -> Self
Sets the owner of the dialog by raw handle. On Unix and GNU/Linux, this is a no-op.
§Safety
It’s the caller’s responsibility that ensuring the handle is valid.
Sourcepub fn reset_owner(self) -> Self
pub fn reset_owner(self) -> Self
Resets the owner of the dialog to nothing.
Sourcepub fn show_open_single_file(self) -> Result<Option<PathBuf>>
pub fn show_open_single_file(self) -> Result<Option<PathBuf>>
Shows a dialog that let users to open one file.
Examples found in repository?
11fn main() {
12 let result = MessageDialog::new()
13 .set_title("Tour")
14 .set_text("Do you want to begin the tour?")
15 .set_type(MessageType::Warning)
16 .show_confirm()
17 .unwrap();
18 if !result {
19 return;
20 }
21 echo("show_confirm", &result);
22
23 let result = FileDialog::new()
24 .set_location("~")
25 .show_open_single_file()
26 .unwrap();
27 echo("show_open_single_file", &result);
28
29 let result = FileDialog::new()
30 .add_filter("Rust Source", &["rs"])
31 .add_filter("Image", &["png", "jpg", "gif"])
32 .show_open_multiple_file()
33 .unwrap();
34 echo("show_open_multiple_file", &result);
35
36 let result = FileDialog::new().show_open_single_dir().unwrap();
37 echo("show_open_single_dir", &result);
38
39 let result = FileDialog::new()
40 .add_filter("Rust Source", &["rs"])
41 .add_filter("Image", &["png", "jpg", "gif"])
42 .show_save_single_file()
43 .unwrap();
44 echo("show_save_single_file", &result);
45
46 MessageDialog::new()
47 .set_title("End")
48 .set_text("That's the end!")
49 .show_alert()
50 .unwrap();
51}Sourcepub fn show_open_multiple_file(self) -> Result<Vec<PathBuf>>
pub fn show_open_multiple_file(self) -> Result<Vec<PathBuf>>
Shows a dialog that let users to open multiple files.
Examples found in repository?
11fn main() {
12 let result = MessageDialog::new()
13 .set_title("Tour")
14 .set_text("Do you want to begin the tour?")
15 .set_type(MessageType::Warning)
16 .show_confirm()
17 .unwrap();
18 if !result {
19 return;
20 }
21 echo("show_confirm", &result);
22
23 let result = FileDialog::new()
24 .set_location("~")
25 .show_open_single_file()
26 .unwrap();
27 echo("show_open_single_file", &result);
28
29 let result = FileDialog::new()
30 .add_filter("Rust Source", &["rs"])
31 .add_filter("Image", &["png", "jpg", "gif"])
32 .show_open_multiple_file()
33 .unwrap();
34 echo("show_open_multiple_file", &result);
35
36 let result = FileDialog::new().show_open_single_dir().unwrap();
37 echo("show_open_single_dir", &result);
38
39 let result = FileDialog::new()
40 .add_filter("Rust Source", &["rs"])
41 .add_filter("Image", &["png", "jpg", "gif"])
42 .show_save_single_file()
43 .unwrap();
44 echo("show_save_single_file", &result);
45
46 MessageDialog::new()
47 .set_title("End")
48 .set_text("That's the end!")
49 .show_alert()
50 .unwrap();
51}Sourcepub fn show_open_single_dir(self) -> Result<Option<PathBuf>>
pub fn show_open_single_dir(self) -> Result<Option<PathBuf>>
Shows a dialog that let users to open one directory.
Examples found in repository?
11fn main() {
12 let result = MessageDialog::new()
13 .set_title("Tour")
14 .set_text("Do you want to begin the tour?")
15 .set_type(MessageType::Warning)
16 .show_confirm()
17 .unwrap();
18 if !result {
19 return;
20 }
21 echo("show_confirm", &result);
22
23 let result = FileDialog::new()
24 .set_location("~")
25 .show_open_single_file()
26 .unwrap();
27 echo("show_open_single_file", &result);
28
29 let result = FileDialog::new()
30 .add_filter("Rust Source", &["rs"])
31 .add_filter("Image", &["png", "jpg", "gif"])
32 .show_open_multiple_file()
33 .unwrap();
34 echo("show_open_multiple_file", &result);
35
36 let result = FileDialog::new().show_open_single_dir().unwrap();
37 echo("show_open_single_dir", &result);
38
39 let result = FileDialog::new()
40 .add_filter("Rust Source", &["rs"])
41 .add_filter("Image", &["png", "jpg", "gif"])
42 .show_save_single_file()
43 .unwrap();
44 echo("show_save_single_file", &result);
45
46 MessageDialog::new()
47 .set_title("End")
48 .set_text("That's the end!")
49 .show_alert()
50 .unwrap();
51}Sourcepub fn show_save_single_file(self) -> Result<Option<PathBuf>>
pub fn show_save_single_file(self) -> Result<Option<PathBuf>>
Shows a dialog that let users to save one file.
Examples found in repository?
11fn main() {
12 let result = MessageDialog::new()
13 .set_title("Tour")
14 .set_text("Do you want to begin the tour?")
15 .set_type(MessageType::Warning)
16 .show_confirm()
17 .unwrap();
18 if !result {
19 return;
20 }
21 echo("show_confirm", &result);
22
23 let result = FileDialog::new()
24 .set_location("~")
25 .show_open_single_file()
26 .unwrap();
27 echo("show_open_single_file", &result);
28
29 let result = FileDialog::new()
30 .add_filter("Rust Source", &["rs"])
31 .add_filter("Image", &["png", "jpg", "gif"])
32 .show_open_multiple_file()
33 .unwrap();
34 echo("show_open_multiple_file", &result);
35
36 let result = FileDialog::new().show_open_single_dir().unwrap();
37 echo("show_open_single_dir", &result);
38
39 let result = FileDialog::new()
40 .add_filter("Rust Source", &["rs"])
41 .add_filter("Image", &["png", "jpg", "gif"])
42 .show_save_single_file()
43 .unwrap();
44 echo("show_save_single_file", &result);
45
46 MessageDialog::new()
47 .set_title("End")
48 .set_text("That's the end!")
49 .show_alert()
50 .unwrap();
51}Trait Implementations§
Source§impl<'a> Clone for FileDialog<'a>
impl<'a> Clone for FileDialog<'a>
Source§fn clone(&self) -> FileDialog<'a>
fn clone(&self) -> FileDialog<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more