diff options
author | Jared Adams <jaxad0127@gmail.com> | 2009-02-28 10:49:55 -0700 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2009-02-28 10:49:55 -0700 |
commit | a65570a60c1d2f58d2f3fe01a4a54cd08a90d932 (patch) | |
tree | 91d5e6026b2e23c907b227af06ae3923677eca80 /src/gui | |
parent | 49665def0ef539fc8c24cb66817fbf7e0408a1a4 (diff) | |
download | mana-client-a65570a60c1d2f58d2f3fe01a4a54cd08a90d932.tar.gz mana-client-a65570a60c1d2f58d2f3fe01a4a54cd08a90d932.tar.bz2 mana-client-a65570a60c1d2f58d2f3fe01a4a54cd08a90d932.tar.xz mana-client-a65570a60c1d2f58d2f3fe01a4a54cd08a90d932.zip |
Allow chatting while talking to NPCs
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/chat.cpp | 7 | ||||
-rw-r--r-- | src/gui/chat.h | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index ac13355c..20d0213b 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -284,7 +284,7 @@ void ChatWindow::action(const gcn::ActionEvent &event) } } -void ChatWindow::requestChatFocus() +bool ChatWindow::requestChatFocus() { // Make sure chatWindow is visible if (!isVisible()) @@ -299,9 +299,14 @@ void ChatWindow::requestChatFocus() mTmpVisible = true; } + // Don't do anything else if the input is already visible and has focus + if (mChatInput->isVisible() && mChatInput->isFocused()) + return false; + // Give focus to the chat input mChatInput->setVisible(true); mChatInput->requestFocus(); + return true; } bool ChatWindow::isInputFocused() diff --git a/src/gui/chat.h b/src/gui/chat.h index 2fadb014..6002fed3 100644 --- a/src/gui/chat.h +++ b/src/gui/chat.h @@ -138,8 +138,11 @@ class ChatWindow : public Window, public gcn::ActionListener, /** * Request focus for typing chat message. + * + * \returns true if the input was shown + * false otherwise */ - void requestChatFocus(); + bool requestChatFocus(); /** * Checks whether ChatWindow is Focused or not. |