-rw-r--r-- | kabc/addressee.cpp | 22 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 45 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 2 |
3 files changed, 41 insertions, 28 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index 295ee4f..2564894 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp @@ -438,31 +438,49 @@ bool Addressee::containsAdr(const Addressee& ad ) found = true; break; } } if ( ! found ) return false; } return true; } void Addressee::simplifyAddresses() { + + + Address::List list; + Address::List::Iterator it; + Address::List::Iterator it2; + for( it = mData->addresses.begin(); it != mData->addresses.end(); ++it ) { + it2 = it; + ++it2; + for( ; it2 != mData->addresses.end(); ++it2 ) { + if ( (*it) == (*it2) ) { + list.append( *it ); + break; + } + } + } + for( it = list.begin(); it != list.end(); ++it ) { + removeAddress( (*it) ); + } + + list.clear(); int max = 2; if ( mData->url.isValid() ) max = 1; if ( mData->addresses.count() <= max ) return ; int count = 0; - Address::List list; - Address::List::Iterator it; for( it = mData->addresses.begin(); it != mData->addresses.end(); ++it ) { if ( count >= max ) list.append( *it ); ++count; } for( it = list.begin(); it != list.end(); ++it ) { removeAddress( (*it) ); } } // removes all emails but the first // needed by phone sync diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index dae9cd2..087e9e3 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -684,49 +684,46 @@ void KABCore::export2phone() KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, KPimGlobalPrefs::instance()->mEx2PhoneConnection, KPimGlobalPrefs::instance()->mEx2PhoneModel ); QStringList uids = mViewManager->selectedUids(); if ( uids.isEmpty() ) return; + QString fileName = getPhoneFile(); + if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) ) + return; + + QTimer::singleShot( 1, this , SLOT ( writeToPhone())); + +} +QString KABCore::getPhoneFile() +{ #ifdef _WIN32_ - QString fileName = locateLocal("tmp", "phonefile.vcf"); + return locateLocal("tmp", "phonefile.vcf"); #else - QString fileName = "/tmp/phonefile.vcf"; + return "/tmp/phonefile.vcf"; #endif - if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) ) - return; - - if ( PhoneAccess::writeToPhone( fileName ) ) - qDebug("Export okay "); - else - qDebug("Error export contacts "); - - -#if 0 - - setCaption( i18n("Writing to phone...")); - if ( PhoneFormat::writeToPhone( cal ) ) - setCaption( i18n("Export to phone successful!")); +} +void KABCore::writeToPhone( ) +{ + if ( PhoneAccess::writeToPhone( getPhoneFile() ) ) + qDebug("Export okay "); else - setCaption( i18n("Error exporting to phone!")); -#endif - - + qDebug("Error export contacts "); } void KABCore::beamVCard() { QStringList uids = mViewManager->selectedUids(); if ( !uids.isEmpty() ) beamVCard( uids ); } void KABCore::beamVCard(const QStringList& uids) { /*US @@ -825,24 +822,25 @@ void KABCore::beamVCard(const QStringList& uids) return; } #endif } void KABCore::beamDone( Ir *ir ) { #ifndef DESKTOP_VERSION delete ir; #endif topLevelWidget()->raise(); + message( i18n("Beaming successful!") ); } void KABCore::browse( const QString& url ) { #ifndef KAB_EMBEDDED kapp->invokeBrowser( url ); #else //KAB_EMBEDDED qDebug("KABCore::browse must be fixed"); #endif //KAB_EMBEDDED } @@ -2809,30 +2807,25 @@ bool KABCore::syncExternal(KSyncManager* manager, QString resource) return syncOK; } void KABCore::message( QString m ) { topLevelWidget()->setCaption( m ); QTimer::singleShot( 15000, this , SLOT ( setCaptionBack())); } bool KABCore::syncPhone() { QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); - QString fileName; -#ifdef _WIN32_ - fileName = locateLocal("tmp", "phonefile.vcf"); -#else - fileName = "/tmp/phonefile.vcf"; -#endif + QString fileName = getPhoneFile(); if ( !PhoneAccess::readFromPhone( fileName) ) { message(i18n("Phone access failed!")); return false; } AddressBook abLocal( fileName,"syncContact"); bool syncOK = false; { abLocal.importFromFile( fileName ); qDebug("AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1()); mGlobalSyncMode = SYNC_MODE_EXTERNAL; abLocal.preparePhoneSync( mCurrentSyncDevice, true ); abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index 3c33923..5871d39 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h @@ -139,24 +139,25 @@ class KABCore : public QWidget, public KSyncInterface #endif //KAB_EMBEDDED public slots: #ifdef KAB_EMBEDDED void createAboutData(); #endif //KAB_EMBEDDED void statusMessage(QString, int time = 0 ); void showLicence(); void faq(); void whatsnew() ; void synchowto() ; + void writeToPhone(); /** Is called whenever a contact is selected in the view. */ void setContactSelected( const QString &uid ); /** Opens the preferred mail composer with all selected contacts as arguments. */ void sendMail(); @@ -362,24 +363,25 @@ class KABCore : public QWidget, public KSyncInterface void removeVoice(); #ifdef KAB_EMBEDDED void configureResources(); #endif //KAB_EMBEDDED void slotEditorDestroyed( const QString &uid ); void configurationChanged(); void addressBookChanged(); private: void initGUI(); void initActions(); + QString getPhoneFile(); AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent, const char *name = 0 ); KXMLGUIClient *mGUIClient; KABC::AddressBook *mAddressBook; ViewManager *mViewManager; // QSplitter *mDetailsSplitter; KDGanttMinimizeSplitter *mExtensionBarSplitter; ViewContainer *mDetails; |