new fallback icons, new fields in vCard, fix about recreation new avatar on each request
This commit is contained in:
parent
36c71968bc
commit
566fc1f2fb
25 changed files with 629 additions and 205 deletions
|
@ -1353,18 +1353,28 @@ void Core::Account::onVCardReceived(const QXmppVCardIq& card)
|
|||
if (ava.size() > 0) {
|
||||
item->setAvatar(ava);
|
||||
} else {
|
||||
item->setAutoGeneratedAvatar();
|
||||
if (!item->hasAvatar() || !item->isAvatarAutoGenerated()) {
|
||||
item->setAutoGeneratedAvatar();
|
||||
}
|
||||
}
|
||||
|
||||
Shared::VCard vCard;
|
||||
vCard.setFullName(card.fullName());
|
||||
vCard.setFirstName(card.firstName());
|
||||
vCard.setMiddleName(card.middleName());
|
||||
vCard.setLastName(card.lastName());
|
||||
vCard.setBirthday(card.birthday());
|
||||
vCard.setNickName(card.nickName());
|
||||
vCard.setDescription(card.description());
|
||||
vCard.setUrl(card.url());
|
||||
QXmppVCardOrganization org = card.organization();
|
||||
vCard.setOrgName(org.organization());
|
||||
vCard.setOrgRole(org.role());
|
||||
vCard.setOrgUnit(org.unit());
|
||||
vCard.setOrgTitle(org.title());
|
||||
|
||||
if (item->hasAvatar()) {
|
||||
if (item->isAvatarAutoGenerated()) {
|
||||
if (!item->isAvatarAutoGenerated()) {
|
||||
vCard.setAvatarType(Shared::Avatar::valid);
|
||||
} else {
|
||||
vCard.setAvatarType(Shared::Avatar::autocreated);
|
||||
|
@ -1465,12 +1475,19 @@ void Core::Account::onOwnVCardReceived(const QXmppVCardIq& card)
|
|||
ownVCardRequestInProgress = false;
|
||||
|
||||
Shared::VCard vCard;
|
||||
vCard.setFullName(card.fullName());
|
||||
vCard.setFirstName(card.firstName());
|
||||
vCard.setMiddleName(card.middleName());
|
||||
vCard.setLastName(card.lastName());
|
||||
vCard.setBirthday(card.birthday());
|
||||
vCard.setNickName(card.nickName());
|
||||
vCard.setDescription(card.description());
|
||||
vCard.setUrl(card.url());
|
||||
QXmppVCardOrganization org = card.organization();
|
||||
vCard.setOrgName(org.organization());
|
||||
vCard.setOrgRole(org.role());
|
||||
vCard.setOrgUnit(org.unit());
|
||||
vCard.setOrgTitle(org.title());
|
||||
if (avatarType.size() > 0) {
|
||||
vCard.setAvatarType(Shared::Avatar::valid);
|
||||
vCard.setAvatarPath(path + "avatar." + avatarType);
|
||||
|
@ -1515,12 +1532,20 @@ void Core::Account::requestVCard(const QString& jid)
|
|||
void Core::Account::uploadVCard(const Shared::VCard& card)
|
||||
{
|
||||
QXmppVCardIq iq;
|
||||
iq.setFullName(card.getFullName());
|
||||
iq.setFirstName(card.getFirstName());
|
||||
iq.setMiddleName(card.getMiddleName());
|
||||
iq.setLastName(card.getLastName());
|
||||
iq.setNickName(card.getNickName());
|
||||
iq.setBirthday(card.getBirthday());
|
||||
iq.setDescription(card.getDescription());
|
||||
iq.setUrl(card.getUrl());
|
||||
QXmppVCardOrganization org;
|
||||
org.setOrganization(card.getOrgName());
|
||||
org.setUnit(card.getOrgUnit());
|
||||
org.setRole(card.getOrgRole());
|
||||
org.setTitle(card.getOrgTitle());
|
||||
iq.setOrganization(org);
|
||||
|
||||
bool avatarChanged = false;
|
||||
if (card.getAvatarType() == Shared::Avatar::empty) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue