[Scummvm-git-logs] scummvm master -> 447658fdb54940956ae3a47590bef066683ca9ee
criezy
criezy at scummvm.org
Thu Aug 27 22:38:00 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
447658fdb5 ULTIMA8: Improve virtual keyboard handling
Commit: 447658fdb54940956ae3a47590bef066683ca9ee
https://github.com/scummvm/scummvm/commit/447658fdb54940956ae3a47590bef066683ca9ee
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2020-08-27T23:36:50+01:00
Commit Message:
ULTIMA8: Improve virtual keyboard handling
The virtual keyboard is now only enabled when the TextEdit gump
gets the focus.
Changed paths:
engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
engines/ultima/ultima8/gumps/widgets/edit_widget.h
engines/ultima/ultima8/ultima8.cpp
diff --git a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
index de3ad17a4a..c8f175e2a2 100644
--- a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
@@ -258,5 +258,9 @@ bool EditWidget::OnTextInput(int unicode) {
return true;
}
+void EditWidget::OnFocus(bool gain) {
+ g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, gain);
+}
+
} // End of namespace Ultima8
} // End of namespace Ultima
diff --git a/engines/ultima/ultima8/gumps/widgets/edit_widget.h b/engines/ultima/ultima8/gumps/widgets/edit_widget.h
index 15bfd2ffd9..fc527c249d 100644
--- a/engines/ultima/ultima8/gumps/widgets/edit_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/edit_widget.h
@@ -56,6 +56,8 @@ public:
bool OnKeyUp(int key) override;
bool OnTextInput(int unicode) override;
+ void OnFocus(bool gain) override;
+
//! get the current text
Std::string getText() const {
return _text;
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index 4d7eb88439..faefa8652c 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -390,8 +390,6 @@ void Ultima8Engine::shutdownGame(bool reloading) {
// Save config here....
- if (!_textModes.empty())
- g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
_textModes.clear();
// reset mouse cursor
@@ -738,8 +736,6 @@ bool Ultima8Engine::LoadConsoleFont(Std::string confontini) {
}
void Ultima8Engine::enterTextMode(Gump *gump) {
- if (_textModes.empty())
- g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
if (!_textModes.empty()) {
_textModes.remove(gump->getObjId());
}
@@ -749,8 +745,6 @@ void Ultima8Engine::enterTextMode(Gump *gump) {
void Ultima8Engine::leaveTextMode(Gump *gump) {
if (!_textModes.empty())
_textModes.remove(gump->getObjId());
- if (_textModes.empty())
- g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
}
void Ultima8Engine::handleEvent(const Common::Event &event) {
@@ -1049,8 +1043,6 @@ void Ultima8Engine::resetEngine() {
_scalerGump = nullptr;
_inverterGump = nullptr;
- if (!_textModes.empty())
- g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
_textModes.clear();
// reset mouse cursor
More information about the Scummvm-git-logs
mailing list