summaryrefslogtreecommitdiff
path: root/src/gui/partywindow.cpp
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-05-13 15:06:26 -0600
committerJared Adams <jaxad0127@gmail.com>2009-05-13 15:07:33 -0600
commit1f5f9385fe7383dd5b71baac10b209349f3823ce (patch)
treedc591e2f3864904f66dc7bbf6ec77c41bde868ec /src/gui/partywindow.cpp
parentb5ad7e490f0f429a5abac2acae48ecf25485256f (diff)
downloadmana-client-1f5f9385fe7383dd5b71baac10b209349f3823ce.tar.gz
mana-client-1f5f9385fe7383dd5b71baac10b209349f3823ce.tar.bz2
mana-client-1f5f9385fe7383dd5b71baac10b209349f3823ce.tar.xz
mana-client-1f5f9385fe7383dd5b71baac10b209349f3823ce.zip
Fix how the PartyWindow lays out Avatars
Also fix the height of Avatars
Diffstat (limited to 'src/gui/partywindow.cpp')
-rw-r--r--src/gui/partywindow.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/gui/partywindow.cpp b/src/gui/partywindow.cpp
index 996073bd..1260a2c3 100644
--- a/src/gui/partywindow.cpp
+++ b/src/gui/partywindow.cpp
@@ -92,9 +92,10 @@ PartyMember *PartyWindow::findOrCreateMember(int id)
{
member = new PartyMember;
mMembers[id] = member;
- add(member->avatar, 0, (mMembers.size() - 1) * 14);
}
+ buildLayout();
+
return member;
}
@@ -148,6 +149,8 @@ void PartyWindow::removeMember(int id)
void PartyWindow::removeMember(const std::string &name)
{
removeMember(findMember(name));
+
+ buildLayout();
}
void PartyWindow::updateOnlne(int id, bool online)
@@ -225,3 +228,19 @@ void PartyWindow::clearMembers()
delete_all(mMembers);
mMembers.clear();
}
+
+void PartyWindow::buildLayout()
+{
+ clearLayout();
+ int lastPos = 0;
+
+ PartyList::iterator it;
+ PartyMember *member;
+
+ for (it = mMembers.begin(); it != mMembers.end(); it++)
+ {
+ member = (*it).second;
+ add(member->avatar, 0, lastPos);
+ lastPos += member->avatar->getHeight() + 2;
+ }
+}