summaryrefslogtreecommitdiff
path: root/src/gui/windows/charselectdialog.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-06 00:46:45 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-06 00:46:45 +0300
commit16da077d4094fd6941ae4de60f1b6f3e133f1b5a (patch)
tree8a3b46ef60ad049a21fc21dedbd20db5597dc614 /src/gui/windows/charselectdialog.cpp
parent87faf131575091160e9776c511e24b65e8b6b2e9 (diff)
downloadmanaplus-16da077d4094fd6941ae4de60f1b6f3e133f1b5a.tar.gz
manaplus-16da077d4094fd6941ae4de60f1b6f3e133f1b5a.tar.bz2
manaplus-16da077d4094fd6941ae4de60f1b6f3e133f1b5a.tar.xz
manaplus-16da077d4094fd6941ae4de60f1b6f3e133f1b5a.zip
Update visible character name and character rename.
Diffstat (limited to 'src/gui/windows/charselectdialog.cpp')
-rw-r--r--src/gui/windows/charselectdialog.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gui/windows/charselectdialog.cpp b/src/gui/windows/charselectdialog.cpp
index 8d80fe1f7..768de6c03 100644
--- a/src/gui/windows/charselectdialog.cpp
+++ b/src/gui/windows/charselectdialog.cpp
@@ -605,3 +605,23 @@ void CharSelectDialog::updateState()
mPlayButton->setCaption(_("Create"));
}
}
+
+void CharSelectDialog::setName(const int id, const std::string &newName)
+{
+ for (unsigned int i = 0, sz = static_cast<unsigned int>(
+ mCharacterEntries.size()); i < sz; ++i)
+ {
+ if (!mCharacterEntries[i])
+ continue;
+ CharacterDisplay *const character = mCharacterEntries[i];
+ if (!character)
+ continue;
+ LocalPlayer *const player = character->getCharacter()->dummy;
+ if (player && player->getId() == id)
+ {
+ player->setName(newName);
+ character->update();
+ return;
+ }
+ }
+}