summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kabc/addressee.cpp23
-rw-r--r--kabc/plugins/sharpdtm/sharpdtmconverter.cpp20
-rw-r--r--kaddressbook/kabcore.cpp32
3 files changed, 50 insertions, 25 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp
index 3b238f5..82b4b9b 100644
--- a/kabc/addressee.cpp
+++ b/kabc/addressee.cpp
@@ -286,4 +286,7 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
{
+ // merge all standard non-outlook fields.
+ //if isSubSet (e.g. mobile phone sync) merge all fields
detach();
+ if ( isSubSet ) {
if ( mData->name.isEmpty() ) mData->name = ad.mData->name;
@@ -295,3 +298,9 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
if ( mData->suffix.isEmpty() ) mData->suffix = ad.mData->suffix;
+ if ( mData->title .isEmpty() ) mData->title = ad.mData->title ;
+ if ( mData->role.isEmpty() ) mData->role = ad.mData->role ;
if ( mData->nickName.isEmpty() ) mData->nickName = ad.mData->nickName;
+ if ( mData->organization.isEmpty() ) mData->organization = ad.mData->organization ;
+ if ( mData->note.isEmpty() ) mData->note = ad.mData->note ;
+ if ( !mData->secrecy.isValid() ) mData->secrecy = ad.mData->secrecy;
+ if ( ( !mData->url.isValid() && ad.mData->url.isValid() ) ) mData->url = ad.mData->url ;
if ( !mData->birthday.isValid() )
@@ -299,2 +308,4 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
mData->birthday = ad.mData->birthday;
+
+ }
if ( mData->mailer.isEmpty() ) mData->mailer = ad.mData->mailer;
@@ -302,10 +313,4 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
if ( !mData->geo.isValid() ) mData->geo = ad.mData->geo;
- if ( mData->title .isEmpty() ) mData->title = ad.mData->title ;
- if ( mData->role.isEmpty() ) mData->role = ad.mData->role ;
- if ( mData->organization.isEmpty() ) mData->organization = ad.mData->organization ;
- if ( mData->note.isEmpty() ) mData->note = ad.mData->note ;
if ( mData->productId.isEmpty() ) mData->productId = ad.mData->productId;
if ( mData->sortString.isEmpty() ) mData->sortString = ad.mData->sortString;
- if ( !mData->secrecy.isValid() ) mData->secrecy = ad.mData->secrecy;
- if ( ( !mData->url.isValid() && ad.mData->url.isValid() ) ) mData->url = ad.mData->url ;
QStringList t;
@@ -315,2 +320,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
// ********** phone numbers
+ if ( isSubSet ) {
PhoneNumber::List phoneAD = ad.phoneNumbers();
@@ -332,2 +338,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
}
+ }
if ( isSubSet ) {
@@ -342,2 +349,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
// ************* categories;
+ if ( isSubSet ) {
t = mData->categories;
@@ -347,2 +355,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
mData->categories.append( tAD[iii] );
+ }
QStringList::ConstIterator it;
@@ -391,2 +400,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
}
+ if ( isSubSet ) {
KABC::Address::List::Iterator addressIterA;
@@ -408,2 +418,3 @@ void Addressee::mergeContact( const Addressee& ad , bool isSubSet) // = false)
}
+ }
//qDebug("merge contact %s ", ad.uid().latin1());
diff --git a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp
index ae4cfbb..8165b4c 100644
--- a/kabc/plugins/sharpdtm/sharpdtmconverter.cpp
+++ b/kabc/plugins/sharpdtm/sharpdtmconverter.cpp
@@ -82,3 +82,4 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
//qDebug("SharpDTMConverter::sharpToAddressee check if the fileAs transformation works!!");
- addr.setFormattedName(db->readField(ZdbAdrs::FileAs)); // needs fix
+ addr.setFormattedName(db->readField(ZdbAdrs::FileAs));
+ addr.setName(db->readField(ZdbAdrs::FullName));
@@ -224,7 +225,8 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
//qDebug("SharpDTMConverter::sharpToAddressee: may be int db->readUshortField(\"ZdbAdrs::Gender\") is here better suited");
-
- if (gen == "male")
+ if (gen == "1")
addr.insertCustom( "KADDRESSBOOK", "X-Gender", "male");
- else if (gen == "female")
+ else if (gen == "2")
addr.insertCustom( "KADDRESSBOOK", "X-Gender", "female");
+ else
+ addr.insertCustom( "KADDRESSBOOK", "X-Gender", "undef");
@@ -236,3 +238,5 @@ bool SharpDTMConverter::sharpToAddressee( const CardId &contact, const SlZDataBa
addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", dt);
- }
+ } else
+ addr.insertCustom( "KADDRESSBOOK", "X-Anniversary", " ");
+
@@ -300,3 +304,3 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da
database->writeField(ZdbAdrs::FileAs, formattedName);
- database->writeField(ZdbAdrs::FullName, formattedName);
+ database->writeField(ZdbAdrs::FullName, addr.name());
@@ -375,5 +379,5 @@ bool SharpDTMConverter::addresseeToSharp( const Addressee &addr, SlZDataBase* da
if (gt == "male")
- database->writeField(ZdbAdrs::Gender, "male");
+ database->writeField(ZdbAdrs::Gender, "1");
else if (gt == "female")
- database->writeField(ZdbAdrs::Gender, "female");
+ database->writeField(ZdbAdrs::Gender, "2");
else
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 42e147f..d970ff1 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -2355,14 +2355,24 @@ void KABCore::removeVoice()
return;
- KABC::Addressee::List list;
XXPortSelectDialog dlg( this, false, this );
- if ( dlg.exec() )
- list = dlg.contacts();
- else
+ if ( !dlg.exec() )
return;
- KABC::Addressee::List::Iterator it;
- for ( it = list.begin(); it != list.end(); ++it ) {
- if ( (*it).removeVoice() )
- addrModified((*it), false );
+ mAddressBook->setUntagged();
+ dlg.tagSelected();
+ message(i18n("Removing voice..."), false );
+ KABC::AddressBook::Iterator it;
+ for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
+ if ( (*it).tagged() ) {
+ (*it).removeVoice();
}
}
+ message(i18n("Refreshing view...") );
+ qApp->processEvents();
+ mViewManager->refreshView( "" );
+ Addressee add;
+ mDetails->setAddressee( add );
+ message(i18n("Remove voice completed!") );
+
+
+
+}
@@ -3133,3 +3143,3 @@ bool KABCore::sync(KSyncManager* manager, QString filename, int mode)
if ( abLocal.load() ) {
- qDebug("AB loaded %s,sync mode %d",filename.latin1(), mode );
+ qDebug("Sync:AB loaded %s,sync mode %d",filename.latin1(), mode );
bool external = false;
@@ -3143,3 +3153,3 @@ bool KABCore::sync(KSyncManager* manager, QString filename, int mode)
if ( external ) {
- qDebug("Setting vcf mode to external ");
+ qDebug("Sync:Setting vcf mode to external ");
mGlobalSyncMode = SYNC_MODE_EXTERNAL;
@@ -3163,3 +3173,3 @@ bool KABCore::sync(KSyncManager* manager, QString filename, int mode)
abLocal.removeSyncAddressees( !isXML);
- qDebug("Saving remote AB ");
+ qDebug("Sync:Saving remote AB ");
if ( ! abLocal.saveAB())