-rw-r--r-- | kaddressbook/kabcore.cpp | 17 | ||||
-rw-r--r-- | kaddressbook/xxportselectdialog.cpp | 9 | ||||
-rw-r--r-- | kaddressbook/xxportselectdialog.h | 1 |
3 files changed, 21 insertions, 6 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index c339244..755da11 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -114,8 +114,9 @@ $Id$ #include "kcmconfigs/kcmkabconfig.h" #include "kcmconfigs/kcmkdepimconfig.h" #include "kpimglobalprefs.h" #include "externalapphandler.h" +#include "xxportselectdialog.h" #include <kresources/selectdialog.h> #include <kmessagebox.h> @@ -677,9 +678,8 @@ void KABCore::setContactSelected( const QString &uid ) if (mActionBeamVCard) mActionBeamVCard->setEnabled( selected ); - mActionExport2phone->setEnabled( selected ); mActionWhoAmI->setEnabled( selected ); mActionCategories->setEnabled( selected ); } @@ -779,8 +779,17 @@ void KABCore::beamMySelf() } void KABCore::export2phone() { + QStringList uids; + XXPortSelectDialog dlg( this, false, this ); + if ( dlg.exec() ) + uids = dlg.uids(); + else + return; + if ( uids.isEmpty() ) + return; + // qDebug("count %d ", uids.count()); KAex2phonePrefs ex2phone; ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); @@ -797,12 +806,8 @@ void KABCore::export2phone() 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; @@ -1798,9 +1803,9 @@ void KABCore::initActions() mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, this, SLOT( mailVCard() ), actionCollection(), "file_mail_vcard"); - mActionExport2phone = new KAction( i18n( "Selected to phone" ), "ex2phone", 0, this, + mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this, SLOT( export2phone() ), actionCollection(), "kaddressbook_ex2phone" ); mActionBeamVCard = 0; diff --git a/kaddressbook/xxportselectdialog.cpp b/kaddressbook/xxportselectdialog.cpp index 41c999b..be254c0 100644 --- a/kaddressbook/xxportselectdialog.cpp +++ b/kaddressbook/xxportselectdialog.cpp @@ -98,8 +98,17 @@ XXPortSelectDialog::XXPortSelectDialog( KABCore *core, bool sort, for ( fieldIt = mFields.begin(); fieldIt != mFields.end(); ++fieldIt ) mFieldCombo->insertItem( (*fieldIt)->label() ); } +QStringList XXPortSelectDialog::uids() +{ + QStringList uidlist; + KABC::AddresseeList list = contacts(); + KABC::Addressee::List::Iterator it; + for ( it = list.begin(); it != list.end(); ++it ) + uidlist.append((*it).uid()); + return uidlist; +} KABC::AddresseeList XXPortSelectDialog::contacts() { QStringList selection = mCore->selectedUIDs(); diff --git a/kaddressbook/xxportselectdialog.h b/kaddressbook/xxportselectdialog.h index 8d56f66..3bb696f 100644 --- a/kaddressbook/xxportselectdialog.h +++ b/kaddressbook/xxportselectdialog.h @@ -47,8 +47,9 @@ class XXPortSelectDialog : public KDialogBase XXPortSelectDialog( KABCore *core, bool sort, QWidget* parent, const char* name = 0 ); KABC::AddresseeList contacts(); + QStringList uids(); private slots: void filterChanged( int ); void categoryClicked( QListViewItem * i ); |