author | zautrix <zautrix> | 2004-07-07 05:51:36 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-07-07 05:51:36 (UTC) |
commit | c9c0fefaead651c073318e8242d86675519dbcf6 (patch) (side-by-side diff) | |
tree | c8d9f167973e7bdbf4a3c97a4c6ec1e631f819fe /kaddressbook | |
parent | 816db8f76a1fd8b5cc586dfd5ebf8d6298221801 (diff) | |
download | kdepimpi-c9c0fefaead651c073318e8242d86675519dbcf6.zip kdepimpi-c9c0fefaead651c073318e8242d86675519dbcf6.tar.gz kdepimpi-c9c0fefaead651c073318e8242d86675519dbcf6.tar.bz2 |
Added possibility to remove voice from phone types
-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 @@ -1141,8 +1141,9 @@ void KABCore::initGUI() //filterMenu = new QPopupMenu( this ); ImportMenu = new QPopupMenu( this ); ExportMenu = new QPopupMenu( this ); + changeMenu= new QPopupMenu( this ); //US since we have no splitter for the embedded system, setup // a layout with two frames. One left and one right. @@ -1392,8 +1393,11 @@ void KABCore::initActions() mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, SLOT( setCategories() ), actionCollection(), "edit_set_categories" ); + mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, + SLOT( removeVoice() ), actionCollection(), + "remove_voice" ); #ifdef KAB_EMBEDDED mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, this, SLOT( createAboutData() ), actionCollection(), @@ -1426,8 +1430,9 @@ void KABCore::addActionsManually() mb->insertItem( "&File", fileMenu ); mb->insertItem( "&Edit", editMenu ); mb->insertItem( "&View", viewMenu ); mb->insertItem( "&Settings", settingsMenu ); + mb->insertItem( "&Change selected", changeMenu ); mb->insertItem( "&Help", helpMenu ); mIncSearchWidget = new IncSearchWidget( tb ); // tb->insertWidget(-1, 0, mIncSearchWidget); @@ -1444,8 +1449,9 @@ void KABCore::addActionsManually() popupBarTB->insertItem( "&Edit", editMenu ); popupBarTB->insertItem( "&View", viewMenu ); popupBarTB->insertItem( "&Settings", settingsMenu ); mViewManager->getFilterAction()->plug ( popupBarTB); + popupBarTB->insertItem( "&Change selected", changeMenu ); popupBarTB->insertItem( "&Help", helpMenu ); if (QApplication::desktop()->width() > 320 ) { // mViewManager->getFilterAction()->plug ( tb); } @@ -1483,9 +1489,9 @@ void KABCore::addActionsManually() mActionDelete->plug( editMenu ); editMenu->insertSeparator(); mActionSelectAll->plug( editMenu ); - + mActionRemoveVoice->plug( changeMenu ); // settings menu //US special menuentry to configure the addressbook resources. On KDE // you do that through the control center !!! mActionConfigResources->plug( settingsMenu ); @@ -1543,8 +1549,32 @@ void KABCore::addActionsManually() */ #endif //KAB_EMBEDDED } +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) ); + } +} void KABCore::clipboardDataChanged() diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index c823f1f..8d6041e 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h @@ -322,8 +322,9 @@ class KABCore : public QWidget void extensionModified( const KABC::Addressee::List &list ); void clipboardDataChanged(); void updateActionMenu(); void configureKeyBindings(); + void removeVoice(); #ifdef KAB_EMBEDDED void configureResources(); #endif //KAB_EMBEDDED @@ -399,12 +400,15 @@ class KABCore : public QWidget QPopupMenu *viewMenu; QPopupMenu *filterMenu; QPopupMenu *settingsMenu; + QPopupMenu *changeMenu; //US QAction *mActionSave; QPopupMenu *ImportMenu; QPopupMenu *ExportMenu; + //LR additional methods + KAction *mActionRemoveVoice; #ifndef KAB_EMBEDDED KAddressBookService *mAddressBookService; #endif //KAB_EMBEDDED |