summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/npcdialog.cpp6
-rw-r--r--src/gui/npcdialog.h5
2 files changed, 11 insertions, 0 deletions
diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cpp
index 61e2204d..ec863c79 100644
--- a/src/gui/npcdialog.cpp
+++ b/src/gui/npcdialog.cpp
@@ -307,6 +307,11 @@ void NpcDialog::addChoice(const std::string &choice)
mItems.push_back(choice);
}
+void NpcDialog::initChoiceSelection()
+{
+ mItemList->setSelected(0);
+}
+
void NpcDialog::textRequest(const std::string &defaultText)
{
mActionState = NPC_ACTION_INPUT;
@@ -542,6 +547,7 @@ void NpcEventListener::event(Event::Channel channel,
int count = event.getInt("choiceCount");
for (int i = 1; i <= count; i++)
dialog->addChoice(event.getString("choice" + toString(i)));
+ dialog->initChoiceSelection();
}
else if (event.getType() == Event::IntegerInput)
{
diff --git a/src/gui/npcdialog.h b/src/gui/npcdialog.h
index 86a0e70c..abea5753 100644
--- a/src/gui/npcdialog.h
+++ b/src/gui/npcdialog.h
@@ -116,6 +116,11 @@ class NpcDialog : public Window,
void addChoice(const std::string &);
/**
+ * Put focus on the first choice.
+ */
+ void initChoiceSelection();
+
+ /**
* Requests a text string from the user.
*/
void textRequest(const std::string &defaultText = "");