summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp36
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_vcard.h7
2 files changed, 36 insertions, 7 deletions
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
index 43e530a..5bb21c7 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
@@ -49,5 +49,7 @@ namespace Opie {
OPimContactAccessBackend_VCard::OPimContactAccessBackend_VCard ( const QString& , const QString& filename ):
m_dirty( false ),
- m_file( filename )
+ m_file( filename ),
+ version_major( 1 ),
+ version_minor( 0 )
{
load();
@@ -187,5 +189,4 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
{
OPimContact c;
-
VObjectIterator it;
initPropIterator( &it, obj );
@@ -194,6 +195,15 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
QCString name = vObjectName( o );
QString value = QString::fromUtf8( vObjectStringZValue( o ) );
- odebug << "(1)Read: %s" << QString( value ).latin1() << oendl;
- if ( name == VCNameProp ) {
+ odebug << "(1)Read: " << name << " " << QString( value ).latin1() << oendl;
+ if ( name == VCVersionProp ) {
+
+ odebug << "Version: " << value << oendl;
+ QStringList version = QStringList::split( ".", value );
+ version_major = version[0].toUInt();
+ version_minor = version[1].toUInt();
+ odebug << "Major: "<< version_major << " Minor: " << version_minor << oendl;
+
+ }
+ else if ( name == VCNameProp ) {
VObjectIterator nit;
initPropIterator( &nit, o );
@@ -202,5 +212,5 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
QCString name = vObjectTypeInfo( o );
QString value = QString::fromUtf8( vObjectStringZValue( o ) );
- odebug << "(2)Read: %s" << value.latin1() << oendl;
+ odebug << "Nametype is: "<< name << " Value: " << value.latin1() << oendl;
if ( name == VCNamePrefixesProp )
c.setTitle( value );
@@ -227,6 +237,7 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
while( moreIteration( &nit ) ) {
VObject *o = nextVObject( &nit );
- QCString name = vObjectName( o );
+ QCString name = vObjectTypeInfo( o );
QString value = QString::fromUtf8( vObjectStringZValue( o ) );
+ odebug << "AddressType is: "<< name << " Value: " << value.latin1() << oendl;
if ( name == VCHomeProp )
work = FALSE;
@@ -275,4 +286,5 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
VObject *o = nextVObject( &nit );
QCString name = vObjectTypeInfo( o );
+ odebug << "Telephonetype is: "<< name << " Value: " << value.latin1() << oendl;
if ( name == VCHomeProp )
type |= HOME;
@@ -289,4 +301,6 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
else if ( name == VCPreferredProp )
;
+ else if ( name.left( 2 ) == "X-" || name.left( 2 ) == "x-" )
+ ; // Ignore
else
type |= UNKNOWN;
@@ -298,4 +312,6 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
type |= VOICE;
+ odebug << "value %s %d" << value.data() << type << oendl;
+
if ( (type & (VOICE|HOME) ) == (VOICE|HOME) && (type & (CELL|HOME) ) != (CELL|HOME) )
c.setHomePhone( value );
@@ -322,9 +338,13 @@ OPimContact OPimContactAccessBackend_VCard::parseVObject( VObject *obj )
VObject *o = nextVObject( &nit );
QCString name = vObjectTypeInfo( o );
+ odebug << "Emailtype is: "<< name << " Value: " << value.latin1() << oendl;
if ( name != VCInternetProp && name != VCHomeProp &&
name != VCWorkProp &&
- name != VCPreferredProp )
+ name != VCPreferredProp &&
+ name.left( 2 ) != "X-" && name.left( 2 ) != "x-" ){
// ### preffered should map to default email
valid = FALSE;
+ odebug << "Email was detected as invalid!" << oendl;
+ }
}
if ( valid ) {
@@ -583,3 +603,5 @@ VObject* OPimContactAccessBackend_VCard::safeAddProp( VObject *o, const char *pr
}
+
+
}
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h
index 1faf747..b734530 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.h
@@ -76,4 +76,11 @@ private:
QString m_file;
QMap<int, OPimContact> m_map;
+
+ /**
+ * Version of parsed VCard
+ */
+ uint version_major;
+ uint version_minor;
+
};