• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ addressee::List类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ af::Msg类代码示例发布时间:2022-05-31
下一篇:
C++ addon::VECADDONS类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap