From 4d7fd73543c4bf164d11ec48747c2e8474b501e7 Mon Sep 17 00:00:00 2001 From: Benau Date: Sun, 12 Jul 2020 08:42:53 +0800 Subject: [PATCH] Fix screen keyboard always open first in create server screen --- src/states_screens/online/create_server_screen.cpp | 13 +++++++++++++ src/states_screens/online/create_server_screen.hpp | 3 +++ 2 files changed, 16 insertions(+) diff --git a/src/states_screens/online/create_server_screen.cpp b/src/states_screens/online/create_server_screen.cpp index 604901575..9be3973ea 100644 --- a/src/states_screens/online/create_server_screen.cpp +++ b/src/states_screens/online/create_server_screen.cpp @@ -116,8 +116,21 @@ void CreateServerScreen::init() assert(gamemode != NULL); gamemode->setSelection(m_prev_mode, PLAYER_ID_GAME_MASTER); updateMoreOption(m_prev_mode); +#ifdef MOBILE_STK + m_name_widget->setFocusable(true); +#endif } // init +// ---------------------------------------------------------------------------- +void CreateServerScreen::beforeAddingWidget() +{ +#ifdef MOBILE_STK + // This will prevent name text box being focused first which make screen + // keyboard always open + m_name_widget->setFocusable(false); +#endif +} // beforeAddingWidget + // ---------------------------------------------------------------------------- /** Event callback which starts the server creation process. */ diff --git a/src/states_screens/online/create_server_screen.hpp b/src/states_screens/online/create_server_screen.hpp index 98dae163d..614de418b 100644 --- a/src/states_screens/online/create_server_screen.hpp +++ b/src/states_screens/online/create_server_screen.hpp @@ -62,6 +62,9 @@ public: /** \brief implement callback from parent class GUIEngine::Screen */ virtual void loadedFromFile() OVERRIDE; + /** \brief implement callback from parent class GUIEngine::Screen */ + virtual void beforeAddingWidget() OVERRIDE; + /** \brief implement callback from parent class GUIEngine::Screen */ virtual void eventCallback(GUIEngine::Widget* widget, const std::string& name, const int playerID) OVERRIDE;