-rw-r--r-- | kaddressbook/kabcore.cpp | 32 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 4 |
2 files changed, 35 insertions, 1 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index a0fec91..7e3fc7c 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -1144,2 +1144,3 @@ void KABCore::initGUI() + changeMenu= new QPopupMenu( this ); @@ -1395,2 +1396,5 @@ void KABCore::initActions() + mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, + SLOT( removeVoice() ), actionCollection(), + "remove_voice" ); #ifdef KAB_EMBEDDED @@ -1429,2 +1433,3 @@ void KABCore::addActionsManually() mb->insertItem( "&Settings", settingsMenu ); + mb->insertItem( "&Change selected", changeMenu ); mb->insertItem( "&Help", helpMenu ); @@ -1447,2 +1452,3 @@ void KABCore::addActionsManually() mViewManager->getFilterAction()->plug ( popupBarTB); + popupBarTB->insertItem( "&Change selected", changeMenu ); popupBarTB->insertItem( "&Help", helpMenu ); @@ -1486,3 +1492,3 @@ void KABCore::addActionsManually() - + mActionRemoveVoice->plug( changeMenu ); // settings menu @@ -1546,2 +1552,26 @@ void KABCore::addActionsManually() } +void KABCore::removeVoice() +{ + if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No ) + return; + KABC::Addressee::List list = mViewManager->selectedAddressees(); + KABC::Addressee::List::Iterator it; + for ( it = list.begin(); it != list.end(); ++it ) { + PhoneNumber::List phoneNumbers = (*it).phoneNumbers(); + PhoneNumber::List::Iterator phoneIt; + bool found = false; + for ( phoneIt = phoneNumbers.begin(); phoneIt != phoneNumbers.end(); ++phoneIt ) { + if ( (*phoneIt).type() & PhoneNumber::Voice) { // voice found + if ((*phoneIt).type() - PhoneNumber::Voice ) { + (*phoneIt).setType((*phoneIt).type() - PhoneNumber::Voice ); + (*it).insertPhoneNumber( (*phoneIt) ); + found = true; + } + } + + } + if ( found ) + contactModified((*it) ); + } +} diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index c823f1f..8d6041e 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h @@ -325,2 +325,3 @@ class KABCore : public QWidget void configureKeyBindings(); + void removeVoice(); #ifdef KAB_EMBEDDED @@ -402,2 +403,3 @@ class KABCore : public QWidget QPopupMenu *settingsMenu; + QPopupMenu *changeMenu; @@ -406,2 +408,4 @@ class KABCore : public QWidget QPopupMenu *ExportMenu; + //LR additional methods + KAction *mActionRemoveVoice; |