Struct native_dialog::FileDialog
source · 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?
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
fn main() {
let result = MessageDialog::new()
.set_title("Tour")
.set_text("Do you want to begin the tour?")
.set_type(MessageType::Warning)
.show_confirm()
.unwrap();
if !result {
return;
}
echo("show_confirm", &result);
let result = FileDialog::new()
.set_location("~")
.show_open_single_file()
.unwrap();
echo("show_open_single_file", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_open_multiple_file()
.unwrap();
echo("show_open_multiple_file", &result);
let result = FileDialog::new().show_open_single_dir().unwrap();
echo("show_open_single_dir", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_save_single_file()
.unwrap();
echo("show_save_single_file", &result);
MessageDialog::new()
.set_title("End")
.set_text("That's the end!")
.show_alert()
.unwrap();
}
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?
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
fn main() {
let result = MessageDialog::new()
.set_title("Tour")
.set_text("Do you want to begin the tour?")
.set_type(MessageType::Warning)
.show_confirm()
.unwrap();
if !result {
return;
}
echo("show_confirm", &result);
let result = FileDialog::new()
.set_location("~")
.show_open_single_file()
.unwrap();
echo("show_open_single_file", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_open_multiple_file()
.unwrap();
echo("show_open_multiple_file", &result);
let result = FileDialog::new().show_open_single_dir().unwrap();
echo("show_open_single_dir", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_save_single_file()
.unwrap();
echo("show_save_single_file", &result);
MessageDialog::new()
.set_title("End")
.set_text("That's the end!")
.show_alert()
.unwrap();
}
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?
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
fn main() {
let result = MessageDialog::new()
.set_title("Tour")
.set_text("Do you want to begin the tour?")
.set_type(MessageType::Warning)
.show_confirm()
.unwrap();
if !result {
return;
}
echo("show_confirm", &result);
let result = FileDialog::new()
.set_location("~")
.show_open_single_file()
.unwrap();
echo("show_open_single_file", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_open_multiple_file()
.unwrap();
echo("show_open_multiple_file", &result);
let result = FileDialog::new().show_open_single_dir().unwrap();
echo("show_open_single_dir", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_save_single_file()
.unwrap();
echo("show_save_single_file", &result);
MessageDialog::new()
.set_title("End")
.set_text("That's the end!")
.show_alert()
.unwrap();
}
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?
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
fn main() {
let result = MessageDialog::new()
.set_title("Tour")
.set_text("Do you want to begin the tour?")
.set_type(MessageType::Warning)
.show_confirm()
.unwrap();
if !result {
return;
}
echo("show_confirm", &result);
let result = FileDialog::new()
.set_location("~")
.show_open_single_file()
.unwrap();
echo("show_open_single_file", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_open_multiple_file()
.unwrap();
echo("show_open_multiple_file", &result);
let result = FileDialog::new().show_open_single_dir().unwrap();
echo("show_open_single_dir", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_save_single_file()
.unwrap();
echo("show_save_single_file", &result);
MessageDialog::new()
.set_title("End")
.set_text("That's the end!")
.show_alert()
.unwrap();
}
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?
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
fn main() {
let result = MessageDialog::new()
.set_title("Tour")
.set_text("Do you want to begin the tour?")
.set_type(MessageType::Warning)
.show_confirm()
.unwrap();
if !result {
return;
}
echo("show_confirm", &result);
let result = FileDialog::new()
.set_location("~")
.show_open_single_file()
.unwrap();
echo("show_open_single_file", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_open_multiple_file()
.unwrap();
echo("show_open_multiple_file", &result);
let result = FileDialog::new().show_open_single_dir().unwrap();
echo("show_open_single_dir", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_save_single_file()
.unwrap();
echo("show_save_single_file", &result);
MessageDialog::new()
.set_title("End")
.set_text("That's the end!")
.show_alert()
.unwrap();
}
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?
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
fn main() {
let result = MessageDialog::new()
.set_title("Tour")
.set_text("Do you want to begin the tour?")
.set_type(MessageType::Warning)
.show_confirm()
.unwrap();
if !result {
return;
}
echo("show_confirm", &result);
let result = FileDialog::new()
.set_location("~")
.show_open_single_file()
.unwrap();
echo("show_open_single_file", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_open_multiple_file()
.unwrap();
echo("show_open_multiple_file", &result);
let result = FileDialog::new().show_open_single_dir().unwrap();
echo("show_open_single_dir", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_save_single_file()
.unwrap();
echo("show_save_single_file", &result);
MessageDialog::new()
.set_title("End")
.set_text("That's the end!")
.show_alert()
.unwrap();
}
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?
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
fn main() {
let result = MessageDialog::new()
.set_title("Tour")
.set_text("Do you want to begin the tour?")
.set_type(MessageType::Warning)
.show_confirm()
.unwrap();
if !result {
return;
}
echo("show_confirm", &result);
let result = FileDialog::new()
.set_location("~")
.show_open_single_file()
.unwrap();
echo("show_open_single_file", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_open_multiple_file()
.unwrap();
echo("show_open_multiple_file", &result);
let result = FileDialog::new().show_open_single_dir().unwrap();
echo("show_open_single_dir", &result);
let result = FileDialog::new()
.add_filter("Rust Source", &["rs"])
.add_filter("Image", &["png", "jpg", "gif"])
.show_save_single_file()
.unwrap();
echo("show_save_single_file", &result);
MessageDialog::new()
.set_title("End")
.set_text("That's the end!")
.show_alert()
.unwrap();
}
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