summaryrefslogtreecommitdiffabout
path: root/kabc/vcard21parser.cpp
authorMichael Krelin <hacker@klever.net>2007-07-04 11:23:42 (UTC)
committer Michael Krelin <hacker@klever.net>2007-07-04 11:23:42 (UTC)
commita08aff328d4393031d5ba7d622c2b05705a89d73 (patch) (side-by-side diff)
tree8ee90d686081c52e7c69b5ce946e9b1a7d690001 /kabc/vcard21parser.cpp
parent11edc920afe4f274c0964436633aa632c8288a40 (diff)
downloadkdepimpi-a08aff328d4393031d5ba7d622c2b05705a89d73.zip
kdepimpi-a08aff328d4393031d5ba7d622c2b05705a89d73.tar.gz
kdepimpi-a08aff328d4393031d5ba7d622c2b05705a89d73.tar.bz2
initial public commit of qt4 portp1
Diffstat (limited to 'kabc/vcard21parser.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/vcard21parser.cpp40
1 files changed, 23 insertions, 17 deletions
diff --git a/kabc/vcard21parser.cpp b/kabc/vcard21parser.cpp
index 60d02b8..e24a9dc 100644
--- a/kabc/vcard21parser.cpp
+++ b/kabc/vcard21parser.cpp
@@ -24,12 +24,14 @@ Copyright (c) 2004 Ulf Schenk
$Id$
*/
#include <qmap.h>
#include <qregexp.h>
+//Added by qt3to4:
+#include <Q3ValueList>
#include <kmdcodec.h>
#include "vcard21parser.h"
#include "vcardconverter.h"
using namespace KABC;
@@ -42,13 +44,13 @@ bool VCardLineX::isValid() const
if ( name[0] == 'x' && name[1] == '-' ) // A custom x- line
return true;
// This is long but it makes it a bit faster (and saves me from using
// a tree which is probably the ideal situation, but a bit memory heavy)
- switch( name[0] ) {
+ switch( name[0].unicode() ) {
case 'a':
if ( name == VCARD_ADR && qualified &&
(qualifiers.contains(VCARD_ADR_DOM) ||
qualifiers.contains(VCARD_ADR_INTL) ||
qualifiers.contains(VCARD_ADR_POSTAL) ||
qualifiers.contains(VCARD_ADR_HOME) ||
@@ -266,13 +268,13 @@ KABC::Addressee VCard21Parser::readFromString( const QString &data)
//set the addressee's birthday
tmpStr = mVCard->getValue(VCARD_BDAY);
addressee.setBirthday(VCardStringToDate(tmpStr));
//set the addressee's phone numbers
- for ( QValueListIterator<VCardLineX> i = mVCard->_vcdata->begin();i != mVCard->_vcdata->end(); ++i ) {
+ for ( Q3ValueListIterator<VCardLineX> i = mVCard->_vcdata->begin();i != mVCard->_vcdata->end(); ++i ) {
if ( (*i).name == VCARD_TEL ) {
int type = 0;
if ( (*i).qualified ) {
if ( (*i).qualifiers.contains( VCARD_TEL_HOME ) )
type |= PhoneNumber::Home;
if ( (*i).qualifiers.contains( VCARD_TEL_WORK ) )
@@ -305,13 +307,13 @@ KABC::Addressee VCard21Parser::readFromString( const QString &data)
}
addressee.insertPhoneNumber( PhoneNumber( (*i).parameters[ 0 ], type ) );
}
}
addressee.makePhoneNumbersOLcompatible();
//set the addressee's addresses
- for ( QValueListIterator<VCardLineX> i = mVCard->_vcdata->begin();i != mVCard->_vcdata->end(); ++i ) {
+ for ( Q3ValueListIterator<VCardLineX> i = mVCard->_vcdata->begin();i != mVCard->_vcdata->end(); ++i ) {
if ( (*i).name == VCARD_ADR ) {
int type = 0;
if ( (*i).qualified ) {
if ( (*i).qualifiers.contains( VCARD_ADR_DOM ) )
type |= Address::Dom;
if ( (*i).qualifiers.contains( VCARD_ADR_INTL ) )
@@ -324,13 +326,16 @@ KABC::Addressee VCard21Parser::readFromString( const QString &data)
type |= Address::Home;
if ( (*i).qualifiers.contains( VCARD_ADR_WORK ) )
type |= Address::Work;
if ( (*i).qualifiers.contains( VCARD_ADR_PREF ) )
type |= Address::Pref;
}
- addressee.insertAddress( readAddressFromQStringList( (*i).parameters, type ) );
+ QStringList tmp;
+ for(Q3ValueList<QString>::const_iterator ii=(*i).parameters.begin();ii!=(*i).parameters.end();++ii)
+ tmp.push_back(*ii);
+ addressee.insertAddress( readAddressFromQStringList( tmp, type ) );
}
}
//set the addressee's delivery label
tmpStr = mVCard->getValue(VCARD_LABEL);
if (!tmpStr.isEmpty()) {
@@ -405,16 +410,16 @@ KABC::Address VCard21Parser::readAddressFromQStringList ( const QStringList &dat
VCard21ParserImpl *VCard21ParserImpl::parseVCard( const QString& vc, int *err )
{
int _err = 0;
int _state = VC_STATE_BEGIN;
- QValueList<VCardLineX> *_vcdata;
- QValueList<QString> lines;
+ Q3ValueList<VCardLineX> *_vcdata;
+ QStringList lines;
- _vcdata = new QValueList<VCardLineX>;
+ _vcdata = new Q3ValueList<VCardLineX>;
lines = QStringList::split( QRegExp( "[\x0d\x0a]" ), vc );
// for each line in the vCard
for ( QStringList::Iterator j = lines.begin(); j != lines.end(); ++j ) {
VCardLineX _vcl;
@@ -498,14 +503,14 @@ VCard21ParserImpl *VCard21ParserImpl::parseVCard( const QString& vc, int *err )
value.remove( value.length() - 1, 1 );
value.append(*( ++j ));
}
}
_vcl.parameters = QStringList::split( ';', value, true );
if ( qp ) { // decode the quoted printable
- for ( QStringList::Iterator z = _vcl.parameters.begin(); z != _vcl.parameters.end(); ++z )
- *z = KCodecs::quotedPrintableDecode( (*z).latin1() );
+ for ( QLinkedList<QString>::Iterator z = _vcl.parameters.begin(); z != _vcl.parameters.end(); ++z )
+ *z = KCodecs::quotedPrintableDecode( (Q3CString)(*z).latin1() );
}
}
} else {
_err = VC_ERR_INTERNAL;
break;
}
@@ -540,24 +545,24 @@ VCard21ParserImpl *VCard21ParserImpl::parseVCard( const QString& vc, int *err )
return 0;
}
return new VCard21ParserImpl( _vcdata );
}
-VCard21ParserImpl::VCard21ParserImpl(QValueList<VCardLineX> *_vcd) : _vcdata(_vcd)
+VCard21ParserImpl::VCard21ParserImpl(Q3ValueList<VCardLineX> *_vcd) : _vcdata(_vcd)
{
}
QString VCard21ParserImpl::getValue(const QString& name, const QString& qualifier)
{
QString failed;
const QString lowname = name.lower();
const QString lowqualifier = qualifier.lower();
- for (QValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
+ for (Q3ValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
if ((*i).name == lowname && (*i).qualified && (*i).qualifiers.contains(lowqualifier)) {
if ((*i).parameters.count() > 0)
return (*i).parameters[0];
else return failed;
}
}
@@ -567,13 +572,13 @@ QString VCard21ParserImpl::getValue(const QString& name, const QString& qualifie
QString VCard21ParserImpl::getValue(const QString& name)
{
QString failed;
const QString lowname = name.lower();
- for (QValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
+ for (Q3ValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
if ((*i).name == lowname && !(*i).qualified) {
if ((*i).parameters.count() > 0)
return (*i).parameters[0];
else return failed;
}
}
@@ -581,27 +586,28 @@ QString VCard21ParserImpl::getValue(const QString& name)
}
QStringList VCard21ParserImpl::getValues(const QString& name)
{
const QString lowname = name.lower();
- for (QValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
- if ((*i).name == lowname && !(*i).qualified)
- return (*i).parameters;
+ for (Q3ValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
+ if ((*i).name == lowname && !(*i).qualified) {
+ return QStringList( (*i).parameters );
+ }
}
// failed.
return QStringList();
}
QStringList VCard21ParserImpl::getValues(const QString& name, const QString& qualifier)
{
const QString lowname = name.lower();
const QString lowqualifier = qualifier.lower();
- for (QValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
+ for (Q3ValueListIterator<VCardLineX> i = _vcdata->begin();i != _vcdata->end();++i) {
if ((*i).name == lowname && (*i).qualified && (*i).qualifiers.contains(lowqualifier))
- return (*i).parameters;
+ return QStringList( (*i).parameters );
}
// failed.
return QStringList();
}