diff options
Diffstat (limited to 'src/gui/chat.cpp')
-rw-r--r-- | src/gui/chat.cpp | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index ab98b594..7f08ec48 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -28,6 +28,7 @@ #include "gui/widgets/chattab.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/tabbedarea.h" +#include "gui/widgets/textfield.h" #include "gui/widgets/whispertab.h" #include "beingmanager.h" @@ -38,18 +39,30 @@ #include "utils/stringutils.h" #include <guichan/focushandler.hpp> +#include <guichan/focuslistener.hpp> -ChatInput::ChatInput() +/** + * The chat input hides when it loses focus. It is also invisible by default. + */ +class ChatInput : public TextField, public gcn::FocusListener { - setVisible(false); + public: + ChatInput() + { + setVisible(false); + addFocusListener(this); + } - addFocusListener(this); -} + /** + * Called if the chat input loses focus. It will set itself to + * invisible as result. + */ + void focusLost(const gcn::Event &event) + { + setVisible(false); + } +}; -void ChatInput::focusLost(const gcn::Event &event) -{ - setVisible(false); -} ChatWindow::ChatWindow(): Window(_("Chat")), |