core: Add UiBackend::close_virtual_keyboard
This method may be used by backends that require explicit virtual keyboard closing.
This commit is contained in:
parent
e18ae830c1
commit
53d2d16162
|
@ -91,9 +91,10 @@ pub trait UiBackend: Downcast {
|
|||
// Unused, but kept in case we need it later.
|
||||
fn message(&self, message: &str);
|
||||
|
||||
// Only used on web.
|
||||
fn open_virtual_keyboard(&self);
|
||||
|
||||
fn close_virtual_keyboard(&self);
|
||||
|
||||
fn language(&self) -> LanguageIdentifier;
|
||||
|
||||
fn display_unsupported_video(&self, url: Url);
|
||||
|
@ -360,6 +361,8 @@ impl UiBackend for NullUiBackend {
|
|||
|
||||
fn open_virtual_keyboard(&self) {}
|
||||
|
||||
fn close_virtual_keyboard(&self) {}
|
||||
|
||||
fn language(&self) -> LanguageIdentifier {
|
||||
US_ENGLISH.clone()
|
||||
}
|
||||
|
|
|
@ -197,12 +197,18 @@ impl<'gc> FocusTracker<'gc> {
|
|||
if let Some(text_field) = self.get_as_edit_text() {
|
||||
if text_field.is_editable() {
|
||||
if !text_field.movie().is_action_script_3() {
|
||||
// TODO This logic is inaccurate and addresses
|
||||
// only setting the focus programmatically.
|
||||
let length = text_field.text_length();
|
||||
text_field
|
||||
.set_selection(Some(TextSelection::for_range(0, length)), context.gc());
|
||||
}
|
||||
context.ui.open_virtual_keyboard();
|
||||
} else {
|
||||
context.ui.close_virtual_keyboard();
|
||||
}
|
||||
} else {
|
||||
context.ui.close_virtual_keyboard();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -310,6 +310,8 @@ impl UiBackend for DesktopUiBackend {
|
|||
// Unused on desktop
|
||||
fn open_virtual_keyboard(&self) {}
|
||||
|
||||
fn close_virtual_keyboard(&self) {}
|
||||
|
||||
fn language(&self) -> LanguageIdentifier {
|
||||
self.preferences.language().clone()
|
||||
}
|
||||
|
|
|
@ -117,6 +117,8 @@ impl UiBackend for TestUiBackend {
|
|||
|
||||
fn open_virtual_keyboard(&self) {}
|
||||
|
||||
fn close_virtual_keyboard(&self) {}
|
||||
|
||||
fn language(&self) -> LanguageIdentifier {
|
||||
US_ENGLISH.clone()
|
||||
}
|
||||
|
|
|
@ -292,6 +292,8 @@ impl UiBackend for WebUiBackend {
|
|||
self.js_player.open_virtual_keyboard()
|
||||
}
|
||||
|
||||
fn close_virtual_keyboard(&self) {}
|
||||
|
||||
fn language(&self) -> LanguageIdentifier {
|
||||
self.language.clone()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue