本文整理汇总了C++中QXmppVCardIq::url方法的典型用法代码示例。如果您正苦于以下问题:C++ QXmppVCardIq::url方法的具体用法?C++ QXmppVCardIq::url怎么用?C++ QXmppVCardIq::url使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QXmppVCardIq
的用法示例。
在下文中一共展示了QXmppVCardIq::url方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FormatRawInfo
QString EntryBase::FormatRawInfo (const QXmppVCardIq& vcard)
{
QString text;
text += tr ("Name: %1")
.arg (vcard.fullName ());
text += "\n";
if (vcard.nickName ().size ())
text += tr ("Nickname: %1\n")
.arg (vcard.nickName ());
if (vcard.url ().size ())
text += tr ("URL: %1\n")
.arg (vcard.url ());
if (vcard.birthday ().isValid ())
text += tr ("Birthday: %1\n")
.arg (vcard.birthday ().toString ());
if (vcard.email ().size ())
text += tr ("Email: %1\n")
.arg (vcard.email ());
if (vcard.photoType ().size ())
{
text += tr ("Photo:") + QString ("\ndata:%1;base64,%2\n")
.arg (vcard.photoType ())
.arg (vcard.photo ().constData ());
}
return text;
}
示例2: initVCard
void MyXmppClient::initVCard(const QXmppVCardIq &vCard)
{
QString bareJid = vCard.from();
RosterItemModel *item = (RosterItemModel*)cachedRoster->find( bareJid );
vCardData dataVCard;
if( item != 0 )
{
/* set nickname */
QXmppRosterIq::Item itemRoster = rosterManager->getRosterEntry( bareJid );
QString nickName = vCard.nickName();
if( (!nickName.isEmpty()) && (!nickName.isNull()) && (itemRoster.name().isEmpty()) ) {
qDebug() << "MyXmppClient::initPresence: updating name for"<< bareJid;
item->setContactName( nickName );
}
/* avatar */
bool isAvatarCreated = true;
QString avatarFile = cacheIM->getAvatarCache( bareJid );
if( (avatarFile.isEmpty() || avatarFile == "qrc:/avatar" || (flVCardRequest != "")) && vCard.photo() != "" ) {
isAvatarCreated = cacheIM->setAvatarCache( bareJid, vCard.photo() );
}
item->setAvatar(cacheIM->getAvatarCache(bareJid));
dataVCard.nickName = nickName;
dataVCard.firstName = vCard.firstName();
dataVCard.fullName = vCard.fullName();;
dataVCard.middleName = vCard.middleName();
dataVCard.lastName = vCard.lastName();
dataVCard.url = vCard.url();
dataVCard.eMail = vCard.email();
if( flVCardRequest == bareJid ) {
qmlVCard->setPhoto( avatarFile );
qmlVCard->setNickName( vCard.nickName() );
qmlVCard->setMiddleName( vCard.middleName() );
qmlVCard->setLastName( vCard.lastName() );
qmlVCard->setFullName( vCard.fullName() );
qmlVCard->setName( vCard.firstName() );
qmlVCard->setBirthday( vCard.birthday().toString("dd.MM.yyyy") );
qmlVCard->setEMail( vCard.email() );
qmlVCard->setUrl( vCard.url() );
qmlVCard->setJid( bareJid );
flVCardRequest = "";
emit vCardChanged();
}
cacheIM->setVCard( bareJid, dataVCard );
}
}
示例3: UpdateInfo
void VCardDialog::UpdateInfo (const QXmppVCardIq& vcard)
{
setWindowTitle (tr ("VCard for %1")
.arg (vcard.nickName()));
Ui_.EditRealName_->setText (vcard.fullName ());
Ui_.EditNick_->setText (vcard.nickName ());
const QDate& date = vcard.birthday ();
if (date.isValid ())
Ui_.EditBirthday_->setDate (date);
Ui_.EditBirthday_->setVisible (date.isValid ());
Ui_.EditPhone_->setText ("<phones not supported yet>");
Ui_.EditURL_->setText (vcard.url ());
QPixmap px = QPixmap::fromImage (QImage::fromData (vcard.photo ()));
if (!px.isNull ())
{
const QSize& maxPx = Ui_.LabelPhoto_->maximumSize ();
if (px.width () > maxPx.width () ||
px.height () > maxPx.height ())
px = px.scaled (maxPx, Qt::KeepAspectRatio, Qt::SmoothTransformation);
Ui_.LabelPhoto_->setPixmap (px);
}
else
Ui_.LabelPhoto_->setText (tr ("No photo"));
}
示例4: vCardDownloaded
void JabberPersonalInfoService::vCardDownloaded(bool ok, const QXmppVCardIq &vCard)
{
if (!ok)
return;
CurrentBuddy.setNickName(vCard.nickName());
CurrentBuddy.setFirstName(vCard.fullName());
CurrentBuddy.setFamilyName(vCard.middleName());
QDate bday = vCard.birthday();
if (bday.isValid() && !bday.isNull())
CurrentBuddy.setBirthYear(bday.year());
if (!vCard.addresses().isEmpty())
CurrentBuddy.setCity(vCard.addresses().at(0).locality());
if (!vCard.emails().isEmpty())
CurrentBuddy.setEmail(vCard.emails().at(0).address());
CurrentBuddy.setWebsite(vCard.url());
emit personalInfoAvailable(CurrentBuddy);
}
示例5: initVCard
void MyXmppClient::initVCard(const QXmppVCardIq &vCard)
{
QString bareJid = vCard.from();
RosterItemModel *item = (RosterItemModel*)cachedRoster->find( bareJid );
vCardData dataVCard;
if( item != 0 )
{
/* set nickname */
QXmppRosterIq::Item itemRoster = rosterManager->getRosterEntry( bareJid );
QString nickName = vCard.nickName();
if( (!nickName.isEmpty()) && (!nickName.isNull()) && (itemRoster.name().isEmpty()) ) {
qDebug() << "MyXmppClient::initPresence: updating name for"<< bareJid;
item->setContactName( nickName );
}
/* avatar */
bool isAvatarCreated = true;
QString avatarFile = cacheIM->getAvatarCache( bareJid );
if( (avatarFile.isEmpty() || avatarFile == "qrc:/avatar") && vCard.photo() != "" && !disableAvatarCaching) {
isAvatarCreated = cacheIM->setAvatarCache( bareJid, vCard.photo() );
}
item->setAvatar(cacheIM->getAvatarCache(bareJid));
dataVCard.nickName = nickName;
dataVCard.firstName = vCard.firstName();
dataVCard.fullName = vCard.fullName();;
dataVCard.middleName = vCard.middleName();
dataVCard.lastName = vCard.lastName();
dataVCard.url = vCard.url();
dataVCard.eMail = vCard.email();
cacheIM->setVCard( bareJid, dataVCard );
}
}
示例6: testVCard
void tst_QXmppVCardIq::testVCard()
{
const QByteArray xml(
"<iq id=\"vcard1\" type=\"set\">"
"<vCard xmlns=\"vcard-temp\">"
"<ADR><CTRY>France</CTRY></ADR>"
"<BDAY>1983-09-14</BDAY>"
"<DESC>I like XMPP.</DESC>"
"<EMAIL><INTERNET/><USERID>[email protected]</USERID></EMAIL>"
"<FN>Foo Bar!</FN>"
"<NICKNAME>FooBar</NICKNAME>"
"<N><GIVEN>Foo</GIVEN><FAMILY>Wiz</FAMILY><MIDDLE>Baz</MIDDLE></N>"
"<TEL><HOME/><NUMBER>12345</NUMBER></TEL>"
"<TEL><WORK/><NUMBER>67890</NUMBER></TEL>"
"<PHOTO>"
"<TYPE>image/png</TYPE>"
"<BINVAL>"
"iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAAXNSR0IArs4c6QAAAAlwSFlzAAA"
"UIgAAFCIBjw1HyAAAAAd0SU1FB9oIHQInNvuJovgAAAAiSURBVAjXY2TQ+s/AwMDAwPD/GiMDlP"
"WfgYGBiQEHGJwSAK2BBQ1f3uvpAAAAAElFTkSuQmCC"
"</BINVAL>"
"</PHOTO>"
"<URL>https://github.com/qxmpp-project/qxmpp/</URL>"
"<ORG>"
"<ORGNAME>QXmpp foundation</ORGNAME>"
"<ORGUNIT>Main QXmpp dev unit</ORGUNIT>"
"</ORG>"
"<TITLE>Executive Director</TITLE>"
"<ROLE>Patron Saint</ROLE>"
"</vCard>"
"</iq>");
QXmppVCardIq vcard;
parsePacket(vcard, xml);
QCOMPARE(vcard.addresses().size(), 1);
QCOMPARE(vcard.addresses()[0].country(), QLatin1String("France"));
QCOMPARE(int(vcard.addresses()[0].type()), int(QXmppVCardEmail::None));
QCOMPARE(vcard.birthday(), QDate(1983, 9, 14));
QCOMPARE(vcard.description(), QLatin1String("I like XMPP."));
QCOMPARE(vcard.email(), QLatin1String("[email protected]"));
QCOMPARE(vcard.emails().size(), 1);
QCOMPARE(vcard.emails()[0].address(), QLatin1String("[email protected]"));
QCOMPARE(int(vcard.emails()[0].type()), int(QXmppVCardEmail::Internet));
QCOMPARE(vcard.nickName(), QLatin1String("FooBar"));
QCOMPARE(vcard.fullName(), QLatin1String("Foo Bar!"));
QCOMPARE(vcard.firstName(), QLatin1String("Foo"));
QCOMPARE(vcard.middleName(), QLatin1String("Baz"));
QCOMPARE(vcard.lastName(), QLatin1String("Wiz"));
QCOMPARE(vcard.phones().size(), 2);
QCOMPARE(vcard.phones()[0].number(), QLatin1String("12345"));
QCOMPARE(int(vcard.phones()[0].type()), int(QXmppVCardEmail::Home));
QCOMPARE(vcard.phones()[1].number(), QLatin1String("67890"));
QCOMPARE(int(vcard.phones()[1].type()), int(QXmppVCardEmail::Work));
QCOMPARE(vcard.photo(), QByteArray::fromBase64(
"iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAAXNSR0IArs4c6QAAAAlwSFlzAAA"
"UIgAAFCIBjw1HyAAAAAd0SU1FB9oIHQInNvuJovgAAAAiSURBVAjXY2TQ+s/AwMDAwPD/GiMDlP"
"WfgYGBiQEHGJwSAK2BBQ1f3uvpAAAAAElFTkSuQmCC"));
QCOMPARE(vcard.photoType(), QLatin1String("image/png"));
QCOMPARE(vcard.url(), QLatin1String("https://github.com/qxmpp-project/qxmpp/"));
const QXmppVCardOrganization &orgInfo = vcard.organization();
QCOMPARE(orgInfo.organization(), QLatin1String("QXmpp foundation"));
QCOMPARE(orgInfo.unit(), QLatin1String("Main QXmpp dev unit"));
QCOMPARE(orgInfo.title(), QLatin1String("Executive Director"));
QCOMPARE(orgInfo.role(), QLatin1String("Patron Saint"));
serializePacket(vcard, xml);
}