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