Add Android chat form

This commit is contained in:
ShadowNinja 2016-02-27 20:10:35 -05:00
parent 430929e75a
commit 9dd38cf968
1 changed files with 29 additions and 10 deletions

View File

@ -1574,6 +1574,10 @@ protected:
static void settingChangedCallback(const std::string &setting_name, void *data); static void settingChangedCallback(const std::string &setting_name, void *data);
void readSettings(); void readSettings();
#ifdef __ANDROID__
void handleAndroidChatInput();
#endif
private: private:
InputHandler *input; InputHandler *input;
@ -1660,8 +1664,8 @@ private:
#ifdef __ANDROID__ #ifdef __ANDROID__
bool m_cache_hold_aux1; bool m_cache_hold_aux1;
bool m_android_chat_open;
#endif #endif
}; };
Game::Game() : Game::Game() :
@ -2610,10 +2614,10 @@ void Game::processUserInput(VolatileRunFlags *flags,
input->step(dtime); input->step(dtime);
#ifdef __ANDROID__ #ifdef __ANDROID__
if (current_formspec != NULL)
if (current_formspec != 0)
current_formspec->getAndroidUIInput(); current_formspec->getAndroidUIInput();
else
handleAndroidChatInput();
#endif #endif
// Increase timer for double tap of "keymap_jump" // Increase timer for double tap of "keymap_jump"
@ -2803,14 +2807,29 @@ void Game::openInventory()
void Game::openConsole(float height, const wchar_t *line) void Game::openConsole(float height, const wchar_t *line)
{ {
if (!gui_chat_console->isOpenInhibited()) { #ifdef __ANDROID__
gui_chat_console->openConsole(height); porting::showInputDialog(gettext("ok"), "", "", 2);
if (line) { m_android_chat_open = true;
gui_chat_console->setCloseOnEnter(true); #else
gui_chat_console->replaceAndAddToHistory(line); if (gui_chat_console->isOpenInhibited())
} return;
gui_chat_console->openConsole(height);
if (line) {
gui_chat_console->setCloseOnEnter(true);
gui_chat_console->replaceAndAddToHistory(line);
}
#endif
}
#ifdef __ANDROID__
void Game::handleAndroidChatInput()
{
if (m_android_chat_open && porting::getInputDialogState() == 0) {
std::string text = porting::getInputDialogValue();
client->typeChatMessage(utf8_to_wide(text));
} }
} }
#endif
void Game::toggleFreeMove(float *statustext_time) void Game::toggleFreeMove(float *statustext_time)