summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-14 13:41:58 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-14 13:41:58 +0300
commit90ec2e79ac8f4412a86dacb8976f449a1662274e (patch)
tree449b974da159049afee29d94cfcc50fa642cfdb0 /src
parentceafa0afeeb8f47f91896cda18c2ae4d084a6fa5 (diff)
downloadmanaplus-90ec2e79ac8f4412a86dacb8976f449a1662274e.tar.gz
manaplus-90ec2e79ac8f4412a86dacb8976f449a1662274e.tar.bz2
manaplus-90ec2e79ac8f4412a86dacb8976f449a1662274e.tar.xz
manaplus-90ec2e79ac8f4412a86dacb8976f449a1662274e.zip
In charselectdialog add function for separate chars adding/updating.
Diffstat (limited to 'src')
-rw-r--r--src/gui/windows/charselectdialog.cpp29
-rw-r--r--src/gui/windows/charselectdialog.h2
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<int>(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<int>(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();