summaryrefslogtreecommitdiff
path: root/src/gui/textdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/textdialog.cpp')
-rw-r--r--src/gui/textdialog.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/gui/textdialog.cpp b/src/gui/textdialog.cpp
index 3e3aafe2..f88a6afa 100644
--- a/src/gui/textdialog.cpp
+++ b/src/gui/textdialog.cpp
@@ -21,6 +21,8 @@
#include "gui/textdialog.h"
+#include "actorspritemanager.h"
+
#include "gui/widgets/button.h"
#include "gui/widgets/label.h"
#include "gui/widgets/textfield.h"
@@ -30,14 +32,20 @@
int TextDialog::instances = 0;
TextDialog::TextDialog(const std::string &title, const std::string &msg,
- Window *parent):
- Window(title, true, parent),
- mTextField(new TextField)
+ Window *parent, bool autoCompleteEnabled):
+ Window(title, true, parent)
{
gcn::Label *textLabel = new Label(msg);
mOkButton = new Button(_("OK"), "OK", this);
gcn::Button *cancelButton = new Button(_("Cancel"), "CANCEL", this);
+ // In TextField the escape key will either cause autoComplete or lose focus
+ mTextField = new TextField("", ! autoCompleteEnabled);
+ if (autoCompleteEnabled)
+ mTextField->setAutoComplete(actorSpriteManager->getPlayerNameLister());
+
+ mTextField->addActionListener(this);
+
place(0, 0, textLabel, 4);
place(0, 1, mTextField, 4);
place(2, 2, mOkButton);