void FriendWidget::setAlias(const QString& _alias) { QString alias = _alias.left(128); // same as TOX_MAX_NAME_LENGTH Friend* f = FriendList::findFriend(friendId); f->setAlias(alias); Settings::getInstance().setFriendAlias(f->getToxId(), alias); Settings::getInstance().savePersonal(); }
void Widget::addFriend(int friendId, const QString &userId) { //qDebug() << "Widget: Adding friend with id" << userId; Friend* newfriend = FriendList::addFriend(friendId, userId); QLayout* layout = contactListWidget->getFriendLayout(Status::Offline); layout->addWidget(newfriend->getFriendWidget()); QString alias = Settings::getInstance().getFriendAlias(ToxID::fromString(userId)); newfriend->setAlias(alias); connect(newfriend->getFriendWidget(), SIGNAL(chatroomWidgetClicked(GenericChatroomWidget*)), this, SLOT(onChatroomWidgetClicked(GenericChatroomWidget*))); connect(newfriend->getFriendWidget(), SIGNAL(removeFriend(int)), this, SLOT(removeFriend(int))); connect(newfriend->getFriendWidget(), SIGNAL(copyFriendIdToClipboard(int)), this, SLOT(copyFriendIdToClipboard(int))); connect(newfriend->getFriendWidget(), SIGNAL(chatroomWidgetClicked(GenericChatroomWidget*)), newfriend->getChatForm(), SLOT(focusInput())); connect(newfriend->getChatForm(), SIGNAL(sendMessage(int,QString)), core, SLOT(sendMessage(int,QString))); connect(newfriend->getChatForm(), &GenericChatForm::sendAction, core, &Core::sendAction); connect(newfriend->getChatForm(), SIGNAL(sendFile(int32_t, QString, QString, long long)), core, SLOT(sendFile(int32_t, QString, QString, long long))); connect(newfriend->getChatForm(), SIGNAL(answerCall(int)), core, SLOT(answerCall(int))); connect(newfriend->getChatForm(), SIGNAL(hangupCall(int)), core, SLOT(hangupCall(int))); connect(newfriend->getChatForm(), SIGNAL(startCall(int)), core, SLOT(startCall(int))); connect(newfriend->getChatForm(), SIGNAL(startVideoCall(int,bool)), core, SLOT(startCall(int,bool))); connect(newfriend->getChatForm(), SIGNAL(cancelCall(int,int)), core, SLOT(cancelCall(int,int))); connect(newfriend->getChatForm(), SIGNAL(micMuteToggle(int)), core, SLOT(micMuteToggle(int))); connect(newfriend->getChatForm(), SIGNAL(volMuteToggle(int)), core, SLOT(volMuteToggle(int))); connect(core, &Core::fileReceiveRequested, newfriend->getChatForm(), &ChatForm::onFileRecvRequest); connect(core, &Core::avInvite, newfriend->getChatForm(), &ChatForm::onAvInvite); connect(core, &Core::avStart, newfriend->getChatForm(), &ChatForm::onAvStart); connect(core, &Core::avCancel, newfriend->getChatForm(), &ChatForm::onAvCancel); connect(core, &Core::avEnd, newfriend->getChatForm(), &ChatForm::onAvEnd); connect(core, &Core::avRinging, newfriend->getChatForm(), &ChatForm::onAvRinging); connect(core, &Core::avStarting, newfriend->getChatForm(), &ChatForm::onAvStarting); connect(core, &Core::avEnding, newfriend->getChatForm(), &ChatForm::onAvEnding); connect(core, &Core::avRequestTimeout, newfriend->getChatForm(), &ChatForm::onAvRequestTimeout); connect(core, &Core::avPeerTimeout, newfriend->getChatForm(), &ChatForm::onAvPeerTimeout); connect(core, &Core::avMediaChange, newfriend->getChatForm(), &ChatForm::onAvMediaChange); connect(core, &Core::avCallFailed, newfriend->getChatForm(), &ChatForm::onAvCallFailed); connect(core, &Core::avRejected, newfriend->getChatForm(), &ChatForm::onAvRejected); connect(core, &Core::friendAvatarChanged, newfriend->getChatForm(), &ChatForm::onAvatarChange); connect(core, &Core::friendAvatarChanged, newfriend->getFriendWidget(), &FriendWidget::onAvatarChange); connect(core, &Core::friendAvatarRemoved, newfriend->getChatForm(), &ChatForm::onAvatarRemoved); connect(core, &Core::friendAvatarRemoved, newfriend->getFriendWidget(), &FriendWidget::onAvatarRemoved); // Try to get the avatar from the cache QPixmap avatar = Settings::getInstance().getSavedAvatar(userId); if (!avatar.isNull()) { //qWarning() << "Widget: loadded avatar for id" << userId; newfriend->getChatForm()->onAvatarChange(friendId, avatar); newfriend->getFriendWidget()->onAvatarChange(friendId, avatar); } }
void FriendWidget::setFriendAlias() { bool ok; Friend* f = FriendList::findFriend(friendId); QString alias = QInputDialog::getText(nullptr, tr("User alias"), tr("Alias:"), QLineEdit::Normal, f->getDisplayedName(), &ok); if (ok) { alias = alias.trimmed(); alias.remove(QRegExp("[\t\n\v\f\r]")); alias = alias.left(128); // same as TOX_MAX_NAME_LENGTH f->setAlias(alias); Settings::getInstance().setFriendAlias(f->getToxID(), alias); hide(); show(); if (f->getFriendWidget()->isActive()) Widget::getInstance()->setWindowTitle(f->getFriendWidget()->getName() + " - qTox"); } }