55 lines
773 B
C++
55 lines
773 B
C++
#include "user.h"
|
|
|
|
User::User(QString str)
|
|
{
|
|
op = (str.at(0) == '@');
|
|
if(op)
|
|
str = str.remove(0, 1);
|
|
nick = str;
|
|
}
|
|
|
|
void User::rename(QString newNick)
|
|
{
|
|
nick = newNick;
|
|
}
|
|
|
|
QString User::getNick()
|
|
{
|
|
return nick;
|
|
}
|
|
|
|
bool User::isOp()
|
|
{
|
|
return op;
|
|
}
|
|
|
|
void User::setOp(bool newStatus)
|
|
{
|
|
op = newStatus;
|
|
}
|
|
|
|
User* UserList::getOrAdd(QString nick)
|
|
{
|
|
User* u = getFromNick(nick);
|
|
if(u == NULL)
|
|
{
|
|
u = new User(nick);
|
|
push_back(u);
|
|
}
|
|
return u;
|
|
}
|
|
|
|
User* UserList::getFromNick(QString nick)
|
|
{
|
|
for(User* u : *this)
|
|
if(nick.compare(u->getNick()) == 0)
|
|
return u;
|
|
return NULL;
|
|
}
|
|
|
|
void UserList::remove(User* user)
|
|
{
|
|
erase(std::remove(begin(), end(), user), end());
|
|
delete(user);
|
|
}
|