summaryrefslogtreecommitdiff
path: root/src/gui/chat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/chat.cpp')
-rw-r--r--src/gui/chat.cpp29
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")),