summaryrefslogtreecommitdiff
path: root/src/gui/partywindow.cpp
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2010-02-08 14:40:04 -0700
committerJared Adams <jaxad0127@gmail.com>2010-02-08 14:43:51 -0700
commit8a31e96d8534d402db9cd48183c0b15732f7d95e (patch)
tree885d83febf301c1289c3bf7f83bf9dca89e0347c /src/gui/partywindow.cpp
parentbc5c031e43eff506c925682349dd2a52b89d6565 (diff)
downloadmana-8a31e96d8534d402db9cd48183c0b15732f7d95e.tar.gz
mana-8a31e96d8534d402db9cd48183c0b15732f7d95e.tar.bz2
mana-8a31e96d8534d402db9cd48183c0b15732f7d95e.tar.xz
mana-8a31e96d8534d402db9cd48183c0b15732f7d95e.zip
Merge PartyWindow and GuildWindow into SocialWindow
Diffstat (limited to 'src/gui/partywindow.cpp')
-rw-r--r--src/gui/partywindow.cpp274
1 files changed, 0 insertions, 274 deletions
diff --git a/src/gui/partywindow.cpp b/src/gui/partywindow.cpp
deleted file mode 100644
index e5cac08f..00000000
--- a/src/gui/partywindow.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * The Mana World
- * Copyright (C) 2008-2010 The Mana World Development Team
- *
- * This file is part of The Mana World.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "gui/partywindow.h"
-
-#include "beingmanager.h"
-#include "player.h"
-
-#include "gui/setup.h"
-
-#include "gui/widgets/chattab.h"
-
-#include "net/net.h"
-#include "net/partyhandler.h"
-
-#include "utils/dtor.h"
-#include "utils/gettext.h"
-#include "utils/stringutils.h"
-
-PartyMember::PartyMember():
- mAvatar(new Avatar)
-{
-}
-
-PartyMember::~PartyMember()
-{
- delete mAvatar;
-}
-
-void PartyMember::setLeader(bool leader)
-{
- if (mLeader != leader)
- {
- mLeader = leader;
- mAvatar->setDisplayBold(leader);
- }
-}
-
-
-PartyWindow::PartyWindow() :
- Window(_("Party"))
-{
- setWindowName("Party");
- setVisible(false);
- setSaveVisible(true);
- setResizable(true);
- setSaveVisible(true);
- setCloseButton(true);
- setMinWidth(120);
- setMinHeight(55);
- setDefaultSize(590, 200, 150, 60);
- setupWindow->registerWindowForReset(this);
-
- loadWindowState();
-}
-
-PartyWindow::~PartyWindow()
-{
- delete_all(mMembers);
-}
-
-void PartyWindow::setPartyName(const std::string &name)
-{
- setCaption(strprintf(_("Party (%s)"), name.c_str()));
-}
-
-void PartyWindow::clearPartyName()
-{
- setCaption(_("Party"));
-}
-
-PartyMember *PartyWindow::findMember(int id) const
-{
- PartyList::const_iterator it = mMembers.find(id);
- if (it == mMembers.end())
- return NULL;
- else
- return it->second;
-}
-
-PartyMember *PartyWindow::findOrCreateMember(int id)
-{
- PartyMember *member = findMember(id);
-
- if (!member)
- {
- member = new PartyMember;
- mMembers[id] = member;
- }
-
- buildLayout();
-
- return member;
-}
-
-int PartyWindow::findMember(const std::string &name) const
-{
- PartyList::const_iterator itr = mMembers.begin(),
- itr_end = mMembers.end();
-
- while (itr != itr_end)
- {
- if ((*itr).second->mAvatar->getName() == name)
- {
- return (*itr).first;
- }
- ++itr;
- }
-
- return -1;
-}
-
-void PartyWindow::updateMember(int id, const std::string &memberName,
- bool leader, bool online)
-{
- PartyMember *member = findOrCreateMember(id);
- member->mAvatar->setName(memberName);
- member->setLeader(leader);
- member->mAvatar->setOnline(online);
-
- Player *player = dynamic_cast<Player*>(beingManager->findBeing(id));
- if (player && online)
- player->setInParty(true);
-}
-
-void PartyWindow::updateMemberHP(int id, int hp, int maxhp)
-{
- PartyMember *player = findOrCreateMember(id);
- player->mAvatar->setHp(hp);
- player->mAvatar->setMaxHp(maxhp);
-}
-
-void PartyWindow::removeMember(int id)
-{
- mMembers.erase(id);
-
- if (Player *player = dynamic_cast<Player*>(beingManager->findBeing(id)))
- player->setInParty(false);
-}
-
-void PartyWindow::removeMember(const std::string &name)
-{
- removeMember(findMember(name));
-
- buildLayout();
-}
-
-void PartyWindow::updateOnlne(int id, bool online)
-{
- PartyMember *player = findMember(id);
-
- if (!player)
- return;
-
- player->mAvatar->setOnline(online);
-}
-
-void PartyWindow::showPartyInvite(const std::string &inviter,
- const std::string &partyName)
-{
- // check there isnt already an invite showing
- if (mPartyInviter != "")
- {
- localChatTab->chatLog(_("Received party request, but one already "
- "exists."), BY_SERVER);
- return;
- }
-
- std::string msg;
- // log invite
- if (partyName.empty())
- msg = strprintf(N_("%s has invited you to join their party."),
- inviter.c_str());
- else
- msg = strprintf(N_("%s has invited you to join the %s party."),
- inviter.c_str(), partyName.c_str());
-
- localChatTab->chatLog(msg, BY_SERVER);
-
- // show invite
- acceptDialog = new ConfirmDialog(_("Accept Party Invite"), msg, this);
- acceptDialog->addActionListener(this);
-
- mPartyInviter = inviter;
-}
-
-void PartyWindow::action(const gcn::ActionEvent &event)
-{
- const std::string &eventId = event.getId();
-
- // check if they accepted the invite
- if (eventId == "yes")
- {
- localChatTab->chatLog(strprintf(_("Accepted invite from %s."),
- mPartyInviter.c_str()));
- Net::getPartyHandler()->inviteResponse(mPartyInviter, true);
- mPartyInviter = "";
- }
- else if (eventId == "no")
- {
- localChatTab->chatLog(strprintf(_("Rejected invite from %s."),
- mPartyInviter.c_str()));
- Net::getPartyHandler()->inviteResponse(mPartyInviter, false);
- mPartyInviter = "";
- }
-}
-
-void clearMembersSub(const std::pair<int, PartyMember*> &p)
-{
- Player *player = dynamic_cast<Player*>(beingManager->findBeing(p.first));
- if (player)
- player->setInParty(false);
-}
-
-void PartyWindow::clearMembers()
-{
- clearLayout();
-
- std::for_each(mMembers.begin(), mMembers.end(), clearMembersSub);
-
- 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->mAvatar, 0, lastPos);
- lastPos += member->mAvatar->getHeight() + 2;
- }
-}
-
-void PartyWindow::getNames(std::vector<std::string> &names)
-{
- PartyList::iterator i = mMembers.begin();
- names.clear();
-
- while (i != mMembers.end())
- {
- PartyMember *member = (*i).second;
- if (member->getAvatar() && member->getAvatar()->getName() != "")
- {
- std::string name = member->getAvatar()->getName();
- names.push_back(name);
- }
- ++i;
- }
-}