From 90ec2e79ac8f4412a86dacb8976f449a1662274e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 14 Sep 2014 13:41:58 +0300 Subject: In charselectdialog add function for separate chars adding/updating. --- src/gui/windows/charselectdialog.cpp | 29 ++++++++++++++--------------- src/gui/windows/charselectdialog.h | 2 ++ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/gui/windows/charselectdialog.cpp b/src/gui/windows/charselectdialog.cpp index 2d45e47ca..3c355c199 100644 --- a/src/gui/windows/charselectdialog.cpp +++ b/src/gui/windows/charselectdialog.cpp @@ -463,24 +463,23 @@ void CharSelectDialog::setCharacters(const Net::Characters &characters) } FOR_EACH (Net::Characters::const_iterator, i, characters) - { - if (!*i) - continue; - - Net::Character *const character = *i; - - const int characterSlot = character->slot; - if (characterSlot >= static_cast(mCharacterEntries.size())) - { - logger->log("Warning: slot out of range: %d", character->slot); - continue; - } + setCharacter(*i); + updateState(); +} - if (mCharacterEntries[characterSlot]) - mCharacterEntries[characterSlot]->setCharacter(character); +void CharSelectDialog::setCharacter(Net::Character *const character) +{ + if (!character) + return; + const int characterSlot = character->slot; + if (characterSlot >= static_cast(mCharacterEntries.size())) + { + logger->log("Warning: slot out of range: %d", character->slot); + return; } - updateState(); + if (mCharacterEntries[characterSlot]) + mCharacterEntries[characterSlot]->setCharacter(character); } void CharSelectDialog::lock() diff --git a/src/gui/windows/charselectdialog.h b/src/gui/windows/charselectdialog.h index cf44f30b9..a6acd9c32 100644 --- a/src/gui/windows/charselectdialog.h +++ b/src/gui/windows/charselectdialog.h @@ -98,6 +98,8 @@ class CharSelectDialog final : public Window, void setCharacters(const Net::Characters &characters); + void setCharacter(Net::Character *const character); + void use(const int selected); void lock(); -- cgit v1.2.3-60-g2f50