summaryrefslogtreecommitdiff
path: root/schist_desktop_gui/src/dialog/pick_file_dialog.rs
blob: fc1a3300118d10f569a8715503bd579bae6b1c29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use std::path::PathBuf;

pub fn pick_file_dialog<P>(starting_directory: Option<P>) -> Option<PathBuf>
where
    P: AsRef<std::path::Path>,
{
    let mut file_dialog = rfd::FileDialog::new()
        .add_filter("SQLite database", &["sqlite"])
        .set_title("Open file");
    if let Some(starting_directory) = starting_directory {
        file_dialog = file_dialog.set_directory(starting_directory);
    }
    file_dialog.pick_file()
}