Crate egui_file_dialog
source ·Expand description
§egui-file-dialog
An easy-to-use file dialog (a.k.a. file explorer, file picker) for egui.
The project is currently in a very early version. Some planned features are still missing and some improvements still need to be made.
Currently only tested on Linux and Windows!
Read more about the project: https://github.com/fluxxcode/egui-file-dialog
§Features
- Select a file or a directory
- Save a file (Prompt user for a destination path)
- Create a new folder
- Navigation buttons to open the parent or previous directories
- Search for items in a directory
- Shortcut for user directories (Home, Documents, …) and system disks
- Resizable window
§A simple example
The following example shows of how you can use the file dialog to let the user select a file. 
See the full example at: https://github.com/fluxxcode/egui-file-dialog/tree/master/examples/select_file
use egui_file_dialog::FileDialog;
struct MyApp {
    file_dialog: FileDialog,
}
impl MyApp {
    pub fn new() -> Self {
        Self {
            // Create a new FileDialog instance
            file_dialog: FileDialog::new(),
        }
    }
}
impl MyApp {
    fn update(&mut self, ctx: &egui::Context, ui: &mut egui::Ui) {
        if ui.button("Select file").clicked() {
            // Open the file dialog to select a file
            self.file_dialog.select_file();
        }
        // Update the dialog and check if the user selected a file
        if let Some(path) = self.file_dialog.update(ctx).selected() {
            println!("Selected file: {:?}", path);
        }
    }
}Structs§
- Represents a file dialog instance.
Enums§
- Represents the mode the file dialog is currently in.
- Represents the state the file dialog is currently in.