1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-28 08:48:48 +02:00

Hopefully better logic for on-screen keyboard visibility

This commit is contained in:
Ivan Savenko 2024-05-14 16:32:53 +00:00
parent 533b26f23b
commit fe4b4a4fba
2 changed files with 24 additions and 2 deletions

View File

@ -263,6 +263,24 @@ void CTextInput::numberFilter(std::string & text, const std::string & oldText, i
}
}
void CTextInput::activate()
{
CFocusable::activate();
#if !defined(VCMI_MOBILE)
if (hasFocus())
GH.startTextInput(pos);
#endif
}
void CTextInput::deactivate()
{
CFocusable::deactivate();
#if !defined(VCMI_MOBILE)
if (hasFocus())
GH.stopTextInput();
#endif
}
void CTextInput::onFocusGot()
{
updateLabel();
@ -275,13 +293,15 @@ void CTextInput::onFocusLost()
void CFocusable::focusGot()
{
GH.startTextInput(pos);
if (isActive())
GH.startTextInput(pos);
onFocusGot();
}
void CFocusable::focusLost()
{
GH.stopTextInput();
if (isActive())
GH.stopTextInput();
onFocusLost();
}

View File

@ -101,4 +101,6 @@ public:
// CIntObject interface impl
void keyPressed(EShortcut key) final;
void activate() final;
void deactivate() final;
};