void AvatarManager::updateAvatar(ContactAccountData *contactAccountData) { QDateTime lastUpdated = contactAccountData->avatar().lastUpdated(); QDateTime nextUpdate = contactAccountData->avatar().nextUpdate(); if (lastUpdated.isValid() && lastUpdated.secsTo(QDateTime::currentDateTime()) < 60*60 || QFile::exists(contactAccountData->avatar().filePath()) && nextUpdate > QDateTime::currentDateTime()) return; AvatarService *service = avatarService(contactAccountData); if (!service) return; service->fetchAvatar(contactAccountData); }
void AccountView::updateAvatar() { mAccountBtn->setIconSize(QSize(AvatarService::kAvatarSize, AvatarService::kAvatarSize)); const Account account = seafApplet->accountManager()->currentAccount(); if (!account.isValid()) { mAccountBtn->setIcon(QIcon(":/images/account.png")); return; } AvatarService *service = AvatarService::instance(); QIcon avatar = QPixmap::fromImage(service->getAvatar(account.username)); mAccountBtn->setIcon(QIcon(avatar)); }
void AccountView::updateAvatar() { mAccountBtn->setIconSize(QSize(AvatarService::kAvatarSize, AvatarService::kAvatarSize)); const Account account = seafApplet->accountManager()->currentAccount(); if (!account.isValid()) { mAccountBtn->setIcon(QIcon(":/images/account.png")); return; } AvatarService *service = AvatarService::instance(); if (service->avatarFileExists(account.username)) { QString icon_path = AvatarService::instance()->getAvatarFilePath(account.username); mAccountBtn->setIcon(QIcon(icon_path)); return; } mAccountBtn->setIcon(QIcon(":/images/account.png")); // will trigger a GetAvatarRequest service->getAvatar(account.username); }