/* Copyright (C) 2014 by Project Tox This file is part of qTox, a Qt-based graphical interface for Tox. This program is libre 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 3 of the License, or (at your option) 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 COPYING file for more details. */ #include "friend.h" #include "friendlist.h" #include "widget/friendwidget.h" #include "widget/form/chatform.h" #include "widget/widget.h" Friend::Friend(int FriendId, QString UserId) : friendId(FriendId) { widget = new FriendWidget(friendId, UserId); chatForm = new ChatForm(this); hasNewEvents = 0; friendStatus = Status::Offline; userID = ToxID::fromString(UserId); userName = UserId; } Friend::~Friend() { delete chatForm; delete widget; } void Friend::setName(QString name) { userName = name; if (userAlias.size() == 0) { widget->setName(name); chatForm->setName(name); if (widget->isActive()) Widget::getInstance()->setWindowTitle(name + " - qTox"); } } void Friend::setAlias(QString name) { userAlias = name; QString dispName = userAlias.size() == 0 ? userName : userAlias; widget->setName(dispName); chatForm->setName(dispName); } void Friend::setStatusMessage(QString message) { widget->setStatusMsg(message); chatForm->setStatusMessage(message); } QString Friend::getDisplayedName() const { if (userAlias.size() == 0) return userName; return userAlias; } const ToxID &Friend::getToxID() const { return userID; } int Friend::getFriendID() const { return friendId; } void Friend::setEventFlag(int f) { hasNewEvents = f; } int Friend::getEventFlag() const { return hasNewEvents; } void Friend::setStatus(Status s) { friendStatus = s; } Status Friend::getStatus() const { return friendStatus; } ChatForm *Friend::getChatForm() { return chatForm; } FriendWidget *Friend::getFriendWidget() { return widget; }