-rw-r--r-- | kabc/vcardparser/vcardtool.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kabc/vcardparser/vcardtool.cpp b/kabc/vcardparser/vcardtool.cpp index c3d92b6..204326e 100644 --- a/kabc/vcardparser/vcardtool.cpp +++ b/kabc/vcardparser/vcardtool.cpp @@ -515,129 +515,129 @@ Addressee::List VCardTool::parseVCards( const QString& vcard ) addr.setRevision( parseDateTime( (*lineIt).valueString() ) ); // ROLE else if ( identifier == "role" ) addr.setRole( (*lineIt).valueString() ); // SORT-STRING else if ( identifier == "sort-string" ) addr.setSortString( (*lineIt).valueString() ); // SOUND else if ( identifier == "sound" ) addr.setSound( parseSound( *lineIt ) ); // TEL else if ( identifier == "tel" ) { PhoneNumber phone; phone.setNumber( (*lineIt).valueString() ); int type = 0; const QStringList types = (*lineIt).parameters( "type" ); for ( QStringList::ConstIterator it = types.begin(); it != types.end(); ++it ) type += mPhoneTypeMap[(*it).upper()]; phone.setType( type ); addr.insertPhoneNumber( phone ); } // TITLE else if ( identifier == "title" ) addr.setTitle( (*lineIt).valueString() ); // TZ else if ( identifier == "tz" ) { TimeZone tz; const QString date = (*lineIt).valueString(); int hours = date.mid( 1, 2).toInt(); int minutes = date.mid( 4, 2 ).toInt(); int offset = ( hours * 60 ) + minutes; offset = offset * ( date[ 0 ] == '+' ? 1 : -1 ); tz.setOffset( offset ); addr.setTimeZone( tz ); } // UID else if ( identifier == "uid" ) addr.setUid( (*lineIt).valueString() ); // URL else if ( identifier == "url" ) addr.setUrl( KURL( (*lineIt).valueString() ) ); // X- else if ( identifier.startsWith( "x-" ) ) { const QString key = (*lineIt).identifier().mid( 2 ); int dash = key.find( "-" ); addr.insertCustom( key.left( dash ), key.mid( dash + 1 ), (*lineIt).valueString() ); } } } - + addr.makePhoneNumbersOLcompatible(); addrList.append( addr ); } return addrList; } QDateTime VCardTool::parseDateTime( const QString &str ) { QDateTime dateTime; if ( str.find( '-' ) == -1 ) { // is base format (yyyymmdd) dateTime.setDate( QDate( str.left( 4 ).toInt(), str.mid( 4, 2 ).toInt(), str.mid( 6, 2 ).toInt() ) ); if ( str.find( 'T' ) ) // has time information yyyymmddThh:mm:ss dateTime.setTime( QTime( str.mid( 11, 2 ).toInt(), str.mid( 14, 2 ).toInt(), str.mid( 17, 2 ).toInt() ) ); } else { // is extended format yyyy-mm-dd dateTime.setDate( QDate( str.left( 4 ).toInt(), str.mid( 5, 2 ).toInt(), str.mid( 8, 2 ).toInt() ) ); if ( str.find( 'T' ) ) // has time information yyyy-mm-ddThh:mm:ss dateTime.setTime( QTime( str.mid( 11, 2 ).toInt(), str.mid( 14, 2 ).toInt(), str.mid( 17, 2 ).toInt() ) ); } return dateTime; } QString VCardTool::createDateTime( const QDateTime &dateTime ) { QString str; if ( dateTime.date().isValid() ) { str.sprintf( "%4d-%02d-%02d", dateTime.date().year(), dateTime.date().month(), dateTime.date().day() ); if ( dateTime.time().isValid() ) { QString tmp; tmp.sprintf( "T%02d:%02d:%02dZ", dateTime.time().hour(), dateTime.time().minute(), dateTime.time().second() ); str += tmp; } } return str; } Picture VCardTool::parsePicture( const VCardLine &line ) { Picture pic; const QStringList params = line.parameterList(); if ( params.findIndex( "encoding" ) != -1 ) { QImage img; img.loadFromData( line.valueBytes() ); pic.setData( img ); } else if ( params.findIndex( "value" ) != -1 ) { if ( line.parameter( "value" ).lower() == "uri" ) pic.setUrl( line.valueString() ); } if ( params.findIndex( "type" ) != -1 ) pic.setType( line.parameter( "type" ) ); |