本文整理汇总了C++中addressee::List类的典型用法代码示例。如果您正苦于以下问题:C++ List类的具体用法?C++ List怎么用?C++ List使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了List类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: createAgent
VCardLine VCardTool::createAgent(VCard::Version version, const Agent &agent)
{
VCardLine line("AGENT");
if(agent.isIntern())
{
if(agent.addressee() != 0)
{
Addressee::List list;
list.append(*agent.addressee());
QString str = createVCards(list, version);
str.replace("\r\n", "\\n");
str.replace(";", "\\;");
str.replace(":", "\\:");
str.replace(",", "\\,");
line.setValue(str);
}
}
else if(!agent.url().isEmpty())
{
line.setValue(agent.url());
line.addParameter("value", "URI");
}
return line;
}
开发者ID:serghei,项目名称:kde3-kdelibs,代码行数:27,代码来源:vcardtool.cpp
示例2: load
bool ResourceEvolution::load()
{
/* doOpen never get's called :( */
if(!doOpen())
return false;
if(!mWrap)
return false; // open first!
DBIterator it = mWrap->begin();
// skip the "PAS-DB-VERSION"
for(; it != mWrap->end(); ++it)
{
if(it.key().startsWith("PAS-DB-VERSION"))
continue;
qWarning("val:%s", it.value().latin1());
VCardTool tool;
QString str = it.value().stripWhiteSpace();
Addressee::List list = tool.parseVCards(str);
if(!list.first().isEmpty())
{
Addressee adr = list.first();
adr.setResource(this);
addressBook()->insertAddressee(adr);
}
}
return true;
}
开发者ID:serghei,项目名称:kde3-kdelibs,代码行数:29,代码来源:resourceevo.cpp
示例3: main
int main( int argc, char **argv )
{
KAboutData aboutData( "testkabcdlg", 0, ki18n( "TestKabc" ), "0.1" );
KCmdLineArgs::init( argc, argv, &aboutData );
KCmdLineOptions options;
options.add( "multiple", ki18n( "Allow selection of multiple addressees" ) );
KCmdLineArgs::addCmdLineOptions( options );
KApplication app;
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
if ( args->isSet( "multiple" ) ) {
Addressee::List al = AddresseeDialog::getAddressees( 0 );
Addressee::List::ConstIterator it;
kDebug() << "Selected Addressees:";
for ( it = al.constBegin(); it != al.constEnd(); ++it ) {
kDebug() << " " << ( *it ).fullEmail();
}
} else {
Addressee a = AddresseeDialog::getAddressee( 0 );
if ( !a.isEmpty() ) {
kDebug() << "Selected Addressee:";
kDebug() << a.toString();
} else {
kDebug() << "No Addressee selected.";
}
}
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:30,代码来源:testkabcdlg.cpp
示例4: addressees
Addressee::List AddresseeDialog::addressees()
{
Addressee::List al;
AddresseeItem *aItem = 0;
if(mMultiple)
{
QListViewItem *item = mSelectedList->firstChild();
while(item)
{
aItem = dynamic_cast< AddresseeItem * >(item);
if(aItem)
al.append(aItem->addressee());
item = item->nextSibling();
}
}
else
{
aItem = dynamic_cast< AddresseeItem * >(mAddresseeList->selectedItem());
if(aItem)
al.append(aItem->addressee());
}
return al;
}
开发者ID:serghei,项目名称:kde3-kdelibs,代码行数:25,代码来源:addresseedialog.cpp
示例5: save
bool ResourceEvolution::save(Ticket *ticket)
{
delete ticket;
if(!m_isOpen)
return false;
// just delete the summary so evolution will regenerate it
// on next start up
(void)QFile::remove(QDir::homeDirPath() + "/evolution/local/Contacts/addressbook.db.summary");
AddressBook::Iterator it;
Addressee::List list;
for(it = addressBook()->begin(); it != addressBook()->end(); ++it)
{
if((*it).resource() != this || !(*it).changed())
continue;
// remove, convert add set unchanged false
list.clear();
mWrap->remove((*it).uid());
VCardTool tool;
list.append((*it));
mWrap->add((*it).uid(), tool.createVCards(list, VCard::v2_1));
(*it).setChanged(false);
}
return true;
}
开发者ID:serghei,项目名称:kde3-kdelibs,代码行数:30,代码来源:resourceevo.cpp
示例6: parseAgent
Agent VCardTool::parseAgent(const VCardLine &line)
{
Agent agent;
const QStringList params = line.parameterList();
if(params.findIndex("value") != -1)
{
if(line.parameter("value").lower() == "uri")
agent.setUrl(line.value().asString());
}
else
{
QString str = line.value().asString();
str.replace("\\n", "\r\n");
str.replace("\\N", "\r\n");
str.replace("\\;", ";");
str.replace("\\:", ":");
str.replace("\\,", ",");
const Addressee::List list = parseVCards(str);
if(list.count() > 0)
{
Addressee *addr = new Addressee;
*addr = list[0];
agent.setAddressee(addr);
}
}
return agent;
}
开发者ID:serghei,项目名称:kde3-kdelibs,代码行数:30,代码来源:vcardtool.cpp
示例7: save
void VCardFormat::save( const Addressee &addressee, QFile *file )
{
VCardConverter converter;
Addressee::List vcardlist;
vcardlist.append( addressee );
QByteArray data = converter.createVCards( vcardlist );
file->write( data );
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:11,代码来源:vcardformat.cpp
示例8: allAddressees
Addressee::List AddressBook::allAddressees() const
{
Addressee::List list;
ConstIterator it;
for ( it = begin(); it != end(); ++it ) {
list.append( *it );
}
return list;
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:11,代码来源:addressbook.cpp
示例9: findByName
Addressee::List Resource::findByName( const TQString &name )
{
Addressee::List results;
ConstIterator it;
for ( it = begin(); it != end(); ++it ) {
if ( name == (*it).name() )
results.append( *it );
}
return results;
}
开发者ID:Fat-Zer,项目名称:tdelibs,代码行数:12,代码来源:resource.cpp
示例10: findByCategory
Addressee::List Resource::findByCategory( const TQString &category )
{
Addressee::List results;
ConstIterator it;
for ( it = begin(); it != end(); ++it ) {
if ( (*it).hasCategory( category) ) {
results.append( *it );
}
}
return results;
}
开发者ID:Fat-Zer,项目名称:tdelibs,代码行数:13,代码来源:resource.cpp
示例11: saveAll
void VCardFormat::saveAll( AddressBook *, Resource *resource, QFile *file )
{
VCardConverter converter;
Addressee::List vcardlist;
Resource::Iterator it;
Resource::Iterator end( resource->end() );
for ( it = resource->begin(); it != end; ++it ) {
( *it ).setChanged( false );
vcardlist.append( *it );
}
QByteArray data = converter.createVCards( vcardlist );
file->write( data );
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:16,代码来源:vcardformat.cpp
示例12: findByEmail
Addressee::List Resource::findByEmail( const TQString &email )
{
Addressee::List results;
const TQString lowerEmail = email.lower();
ConstIterator it;
for ( it = begin(); it != end(); ++it ) {
const TQStringList mailList = (*it).emails();
for ( TQStringList::ConstIterator ite = mailList.begin(); ite != mailList.end(); ++ite ) {
if ( lowerEmail == (*ite).lower() )
results.append( *it );
}
}
return results;
}
开发者ID:Fat-Zer,项目名称:tdelibs,代码行数:16,代码来源:resource.cpp
示例13: load
bool VCardFormat::load( Addressee &addressee, QFile *file )
{
QByteArray data;
data = file->readAll();
VCardConverter converter;
Addressee::List l = converter.parseVCards( data );
if ( ! l.first().isEmpty() ) {
addressee = l.first();
return true;
}
return false;
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:16,代码来源:vcardformat.cpp
示例14: loadAll
bool VCardFormat::loadAll( AddressBook *, Resource *resource, QFile *file )
{
QByteArray data;
data = file->readAll();
VCardConverter converter;
Addressee::List l = converter.parseVCards( data );
Addressee::List::iterator itr;
for ( itr = l.begin(); itr != l.end(); ++itr ) {
Addressee addressee = *itr;
addressee.setResource( resource );
addressee.setChanged( false );
resource->insertAddressee( addressee );
}
return true;
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:20,代码来源:vcardformat.cpp
示例15: testVCardRoundtrip
void RoundtripTest::testVCardRoundtrip()
{
QFETCH( QString, inputFile );
QFETCH( QString, output2_1File );
QFETCH( QString, output3_0File );
QVERIFY2( !output2_1File.isEmpty() || !output3_0File.isEmpty(),
"No reference output file for either format version" );
QFile input( QFileInfo( mInputDir, inputFile ).absoluteFilePath() );
QVERIFY( input.open( QIODevice::ReadOnly ) );
const QByteArray inputData = input.readAll();
QVERIFY( !inputData.isEmpty() );
VCardConverter converter;
const Addressee::List list = converter.parseVCards( inputData );
QVERIFY( !list.isEmpty() );
if ( !output2_1File.isEmpty() ) {
const QByteArray outputData = converter.createVCards( list, VCardConverter::v2_1 );
QFile outputFile( QFileInfo( mOutput2_1Dir, output2_1File ).absoluteFilePath() );
QVERIFY( outputFile.open( QIODevice::ReadOnly ) );
const QByteArray outputRefData = outputFile.readAll();
QCOMPARE( outputData.size(), outputRefData.size() );
const QList<QByteArray> outputLines = outputData.split( '\n' );
const QList<QByteArray> outputRefLines = outputRefData.split( '\n' );
QCOMPARE( outputLines.count(), outputRefLines.count() );
for ( int i = 0; i < outputLines.count(); ++i ) {
const QByteArray actual = outputLines[ i ];
const QByteArray expect = outputRefLines[ i ];
if ( actual != expect ) {
qCritical() << "Mismatch in v2.1 output line" << ( i + 1 );
QCOMPARE( actual.count(), expect.count() );
qCritical() << "\nActual:" << actual << "\nExpect:" << expect;
QCOMPARE( actual, expect );
}
}
}
if ( !output3_0File.isEmpty() ) {
const QByteArray outputData = converter.createVCards( list, VCardConverter::v3_0 );
QFile outputFile( QFileInfo( mOutput3_0Dir, output3_0File ).absoluteFilePath() );
QVERIFY( outputFile.open( QIODevice::ReadOnly ) );
const QByteArray outputRefData = outputFile.readAll();
// QCOMPARE( outputData.size(), outputRefData.size() );
const QList<QByteArray> outputLines = outputData.split( '\n' );
const QList<QByteArray> outputRefLines = outputRefData.split( '\n' );
QCOMPARE( outputLines.count(), outputRefLines.count() );
for ( int i = 0; i < outputLines.count(); ++i ) {
const QByteArray actual = outputLines[ i ];
const QByteArray expect = outputRefLines[ i ];
if ( actual != expect ) {
qCritical() << "Mismatch in v3.0 output line" << ( i + 1 );
QCOMPARE( actual.count(), expect.count() );
qCritical() << "\nActual:" << actual << "\nExpect:" << expect;
QCOMPARE( actual, expect );
}
}
}
}
开发者ID:lenggi,项目名称:kcalcore,代码行数:73,代码来源:testroundtrip.cpp
示例16: parseVCards
Addressee::List VCardTool::parseVCards(const QString &vcard)
{
static const QChar semicolonSep(';');
static const QChar commaSep(',');
QString identifier;
Addressee::List addrList;
const VCard::List vCardList = VCardParser::parseVCards(vcard);
VCard::List::ConstIterator cardIt;
VCard::List::ConstIterator listEnd(vCardList.end());
for(cardIt = vCardList.begin(); cardIt != listEnd; ++cardIt)
{
Addressee addr;
const QStringList idents = (*cardIt).identifiers();
QStringList::ConstIterator identIt;
QStringList::ConstIterator identEnd(idents.end());
for(identIt = idents.begin(); identIt != identEnd; ++identIt)
{
const VCardLine::List lines = (*cardIt).lines((*identIt));
VCardLine::List::ConstIterator lineIt;
// iterate over the lines
for(lineIt = lines.begin(); lineIt != lines.end(); ++lineIt)
{
identifier = (*lineIt).identifier().lower();
// ADR
if(identifier == "adr")
{
Address address;
const QStringList addrParts = splitString(semicolonSep, (*lineIt).value().asString());
if(addrParts.count() > 0)
address.setPostOfficeBox(addrParts[0]);
if(addrParts.count() > 1)
address.setExtended(addrParts[1]);
if(addrParts.count() > 2)
address.setStreet(addrParts[2]);
if(addrParts.count() > 3)
address.setLocality(addrParts[3]);
if(addrParts.count() > 4)
address.setRegion(addrParts[4]);
if(addrParts.count() > 5)
address.setPostalCode(addrParts[5]);
if(addrParts.count() > 6)
address.setCountry(addrParts[6]);
int type = 0;
const QStringList types = (*lineIt).parameters("type");
for(QStringList::ConstIterator it = types.begin(); it != types.end(); ++it)
type += mAddressTypeMap[(*it).lower()];
address.setType(type);
addr.insertAddress(address);
}
// AGENT
else if(identifier == "agent")
addr.setAgent(parseAgent(*lineIt));
// BDAY
else if(identifier == "bday")
addr.setBirthday(parseDateTime((*lineIt).value().asString()));
// CATEGORIES
else if(identifier == "categories")
{
const QStringList categories = splitString(commaSep, (*lineIt).value().asString());
addr.setCategories(categories);
}
// CLASS
else if(identifier == "class")
addr.setSecrecy(parseSecrecy(*lineIt));
// EMAIL
else if(identifier == "email")
{
const QStringList types = (*lineIt).parameters("type");
addr.insertEmail((*lineIt).value().asString(), types.findIndex("PREF") != -1);
}
// FN
else if(identifier == "fn")
addr.setFormattedName((*lineIt).value().asString());
// GEO
else if(identifier == "geo")
{
Geo geo;
const QStringList geoParts = QStringList::split(';', (*lineIt).value().asString(), true);
geo.setLatitude(geoParts[0].toFloat());
geo.setLongitude(geoParts[1].toFloat());
addr.setGeo(geo);
}
// KEY
//.........这里部分代码省略.........
开发者ID:serghei,项目名称:kde3-kdelibs,代码行数:101,代码来源:vcardtool.cpp
示例17: createVCards
// TODO: make list a const&
QString VCardTool::createVCards(Addressee::List list, VCard::Version version)
{
VCard::List vCardList;
Addressee::List::ConstIterator addrIt;
Addressee::List::ConstIterator listEnd(list.constEnd());
for(addrIt = list.constBegin(); addrIt != listEnd; ++addrIt)
{
VCard card;
QStringList::ConstIterator strIt;
// ADR + LABEL
const Address::List addresses = (*addrIt).addresses();
for(Address::List::ConstIterator it = addresses.begin(); it != addresses.end(); ++it)
{
QStringList address;
bool isEmpty = ((*it).postOfficeBox().isEmpty() && (*it).extended().isEmpty() && (*it).street().isEmpty() && (*it).locality().isEmpty()
&& (*it).region().isEmpty() && (*it).postalCode().isEmpty() && (*it).country().isEmpty());
address.append((*it).postOfficeBox().replace(';', "\\;"));
address.append((*it).extended().replace(';', "\\;"));
address.append((*it).street().replace(';', "\\;"));
address.append((*it).locality().replace(';', "\\;"));
address.append((*it).region().replace(';', "\\;"));
address.append((*it).postalCode().replace(';', "\\;"));
address.append((*it).country().replace(';', "\\;"));
VCardLine adrLine("ADR", address.join(";"));
if(version == VCard::v2_1 && needsEncoding(address.join(";")))
{
adrLine.addParameter("charset", "UTF-8");
adrLine.addParameter("encoding", "QUOTED-PRINTABLE");
}
VCardLine labelLine("LABEL", (*it).label());
if(version == VCard::v2_1 && needsEncoding((*it).label()))
{
labelLine.addParameter("charset", "UTF-8");
labelLine.addParameter("encoding", "QUOTED-PRINTABLE");
}
bool hasLabel = !(*it).label().isEmpty();
QMap< QString, int >::ConstIterator typeIt;
for(typeIt = mAddressTypeMap.constBegin(); typeIt != mAddressTypeMap.constEnd(); ++typeIt)
{
if(typeIt.data() & (*it).type())
{
adrLine.addParameter("TYPE", typeIt.key());
if(hasLabel)
labelLine.addParameter("TYPE", typeIt.key());
}
}
if(!isEmpty)
card.addLine(adrLine);
if(hasLabel)
card.addLine(labelLine);
}
// AGENT
card.addLine(createAgent(version, (*addrIt).agent()));
// BDAY
card.addLine(VCardLine("BDAY", createDateTime((*addrIt).birthday())));
// CATEGORIES
if(version == VCard::v3_0)
{
QStringList categories = (*addrIt).categories();
QStringList::Iterator catIt;
for(catIt = categories.begin(); catIt != categories.end(); ++catIt)
(*catIt).replace(',', "\\,");
VCardLine catLine("CATEGORIES", categories.join(","));
if(version == VCard::v2_1 && needsEncoding(categories.join(",")))
{
catLine.addParameter("charset", "UTF-8");
catLine.addParameter("encoding", "QUOTED-PRINTABLE");
}
card.addLine(catLine);
}
// CLASS
if(version == VCard::v3_0)
{
card.addLine(createSecrecy((*addrIt).secrecy()));
}
// EMAIL
const QStringList emails = (*addrIt).emails();
bool pref = true;
for(strIt = emails.begin(); strIt != emails.end(); ++strIt)
{
VCardLine line("EMAIL", *strIt);
if(pref == true && emails.count() > 1)
{
line.addParameter("TYPE", "PREF");
//.........这里部分代码省略.........
开发者ID:serghei,项目名称:kde3-kdelibs,代码行数:101,代码来源:vcardtool.cpp
注:本文中的addressee::List类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论