desktop: Internationalize file pickers
This commit is contained in:
parent
490c02bb58
commit
14302b8287
|
@ -0,0 +1,3 @@
|
|||
file-picker-title-open-file = Open a single file
|
||||
file-picker-filter-flash-files = Flash Files
|
||||
file-picker-filter-all-files = All Files
|
|
@ -66,7 +66,7 @@ impl Dialogs {
|
|||
window: Weak<winit::window::Window>,
|
||||
event_loop: EventLoopProxy<RuffleEvent>,
|
||||
) -> Self {
|
||||
let picker = FilePicker::new(window);
|
||||
let picker = FilePicker::new(window, preferences.clone());
|
||||
Self {
|
||||
preferences_dialog: None,
|
||||
bookmarks_dialog: None,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use super::text;
|
||||
use crate::preferences::GlobalPreferences;
|
||||
use rfd::AsyncFileDialog;
|
||||
use std::{
|
||||
path::PathBuf,
|
||||
|
@ -16,14 +18,16 @@ pub struct FilePicker {
|
|||
struct FilePickerData {
|
||||
parent: Weak<Window>,
|
||||
picking: AtomicBool,
|
||||
preferences: GlobalPreferences,
|
||||
}
|
||||
|
||||
impl FilePicker {
|
||||
pub fn new(parent: Weak<Window>) -> Self {
|
||||
pub fn new(parent: Weak<Window>, preferences: GlobalPreferences) -> Self {
|
||||
Self {
|
||||
data: Arc::new(FilePickerData {
|
||||
parent,
|
||||
picking: AtomicBool::new(false),
|
||||
preferences,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
@ -34,10 +38,14 @@ impl FilePicker {
|
|||
return None;
|
||||
}
|
||||
|
||||
let locale = &self.data.preferences.language();
|
||||
let mut dialog = AsyncFileDialog::new()
|
||||
.add_filter("Flash Files", &["swf", "spl", "ruf"])
|
||||
.add_filter("All Files", &["*"])
|
||||
.set_title("Load a Flash File");
|
||||
.add_filter(
|
||||
text(locale, "file-picker-filter-flash-files"),
|
||||
&["swf", "spl", "ruf"],
|
||||
)
|
||||
.add_filter(text(locale, "file-picker-filter-all-files"), &["*"])
|
||||
.set_title(text(locale, "file-picker-title-open-file"));
|
||||
|
||||
if let Some(dir) = dir {
|
||||
dialog = dialog.set_directory(dir);
|
||||
|
|
Loading…
Reference in New Issue