From d5a733466df3a21a397459253b33ab26d8314474 Mon Sep 17 00:00:00 2001 From: iProgramInCpp Date: Mon, 7 Aug 2023 21:59:18 +0300 Subject: [PATCH] * Allow usage of / to start a command quickly. * Allow usage of escape key to get out of chat screen. --- source/client/gui/Gui.cpp | 3 ++- source/client/gui/screens/ChatScreen.cpp | 6 +++++- source/client/gui/screens/ChatScreen.hpp | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/source/client/gui/Gui.cpp b/source/client/gui/Gui.cpp index f2d1d8f..2f0a17d 100644 --- a/source/client/gui/Gui.cpp +++ b/source/client/gui/Gui.cpp @@ -400,11 +400,12 @@ void Gui::handleKeyPressed(int keyCode) } case AKEYCODE_T: + case AKEYCODE_SLASH: { if (m_pMinecraft->m_pScreen) break; - m_pMinecraft->setScreen(new ChatScreen); + m_pMinecraft->setScreen(new ChatScreen(keyCode == AKEYCODE_SLASH)); break; } } diff --git a/source/client/gui/screens/ChatScreen.cpp b/source/client/gui/screens/ChatScreen.cpp index b1ce2cc..9cf3d50 100644 --- a/source/client/gui/screens/ChatScreen.cpp +++ b/source/client/gui/screens/ChatScreen.cpp @@ -10,8 +10,10 @@ // @NOTE: This is unused. -ChatScreen::ChatScreen() : m_textChat(1, 0, 0), m_btnSend(2, 0, 0, "Send") +ChatScreen::ChatScreen(bool slash) : m_textChat(1, 0, 0), m_btnSend(2, 0, 0, "Send") { + if (slash) + m_textChat.m_text = "/"; } void ChatScreen::buttonClicked(Button* pButton) @@ -60,6 +62,8 @@ void ChatScreen::keyPressed(int keyCode) { if (keyCode == AKEYCODE_ENTER) sendMessageAndExit(); + + Screen::keyPressed(keyCode); } void ChatScreen::sendMessageAndExit() diff --git a/source/client/gui/screens/ChatScreen.hpp b/source/client/gui/screens/ChatScreen.hpp index cf0b136..a3a5041 100644 --- a/source/client/gui/screens/ChatScreen.hpp +++ b/source/client/gui/screens/ChatScreen.hpp @@ -13,7 +13,7 @@ class ChatScreen : public Screen { public: - ChatScreen(); + ChatScreen(bool slash = false); void buttonClicked(Button*) override; void init() override; void removed() override;