diff -r c18f9fa7f42e -r 640d30f4fb64 phonebookui/cntcommonui/common/cntsavemanager.cpp --- a/phonebookui/cntcommonui/common/cntsavemanager.cpp Fri Oct 08 11:42:51 2010 +0300 +++ b/phonebookui/cntcommonui/common/cntsavemanager.cpp Fri Oct 15 12:24:46 2010 +0300 @@ -24,9 +24,8 @@ For example "forcing" phonebook to shut down (end key, from task swapper etc..) in detail editors. */ -CntSaveManager::CntSaveManager(CntContactType type, QObject* parent) : - QObject(parent), - mContactType(type) +CntSaveManager::CntSaveManager(QObject* parent) : + QObject(parent) { CNT_ENTRY @@ -43,6 +42,21 @@ CNT_EXIT } +CntSaveManager::CntSaveResult CntSaveManager::saveContact( QContact* contact, QContactManager* manager ) +{ + return saveContact( EContact, contact, manager ); +} + +CntSaveManager::CntSaveResult CntSaveManager::saveMyCard( QContact* myCard, QContactManager* manager ) +{ + return saveContact( EMyCard, myCard, manager ); +} + +CntSaveManager::CntSaveResult CntSaveManager::saveGroup( QContact* group, QContactManager* manager ) +{ + return saveContact( EGroup, group, manager ); +} + /*! Saves the given QContact to the given QContactManager. Also takes care of checking if the contact is MyCard or a group and behaves different accordingly. @@ -51,7 +65,7 @@ \param aManager the QContactManager which should be used for saving the contact, ownership not taken \return CntSaveResult enum to describe what was done to the contact (saved, updated etc...) */ -CntSaveManager::CntSaveResult CntSaveManager::saveContact(QContact* aContact, QContactManager* aManager) +CntSaveManager::CntSaveResult CntSaveManager::saveContact(CntContactType type, QContact* aContact, QContactManager* aManager) { CNT_ENTRY @@ -64,7 +78,7 @@ int detailCount = aContact->details().count(); // Don't set preferred details for a group - if (mContactType != EGroup) + if (type != EGroup) { setPreferredDetails( aContact ); } @@ -76,7 +90,7 @@ if ( detailCount > 2 ) { bool success = aManager->saveContact( aContact ); - if ( success && mContactType == EMyCard ) + if ( success && type == EMyCard ) { aManager->setSelfContactId( aContact->localId() ); } @@ -104,6 +118,7 @@ } CNT_EXIT_ARGS(result) + emit saveCompleted( result ); return result; }