-rw-r--r-- | kaddressbook/kabcore.cpp | 59 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 7 |
2 files changed, 13 insertions, 53 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 2c2f1a0..83027ac 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -957,20 +957,22 @@ void KABCore::setWhoAmI() static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] ); } void KABCore::setCategories() { KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true ); - if ( !dlg.exec() ) + if ( !dlg.exec() ) { + message( i18n("Setting categories cancelled") ); return; - + } bool merge = false; QString msg = i18n( "Merge with existing categories?" ); if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes ) merge = true; + message( i18n("Setting categories ... please wait!") ); QStringList categories = dlg.selectedCategories(); QStringList uids = mViewManager->selectedUids(); QStringList::Iterator it; for ( it = uids.begin(); it != uids.end(); ++it ) { KABC::Addressee addr = mAddressBook->findByUid( *it ); @@ -990,12 +992,13 @@ void KABCore::setCategories() mAddressBook->insertAddressee( addr ); } } if ( uids.count() > 0 ) setModified( true ); + message( i18n("Setting categories completed!") ); } void KABCore::setSearchFields( const KABC::Field::List &fields ) { mIncSearchWidget->setFields( fields ); } @@ -1881,21 +1884,17 @@ void KABCore::initActions() "edit_set_categories" ); mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, SLOT( removeVoice() ), actionCollection(), "remove_voice" ); - mActionSetCat= new KAction( i18n( "Set categories..." ), 0, this, - SLOT( setCat() ), actionCollection(), + mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this, + SLOT( manageCategories() ), actionCollection(), "remove_voice" ); - mActionAddCat= new KAction( i18n( "Add categories..." ), 0, this, - SLOT( addCat() ), actionCollection(), - "remove_voice" ); - mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, SLOT( importFromOL() ), actionCollection(), "import_OL" ); #ifdef KAB_EMBEDDED mActionLicence = new KAction( i18n( "Licence" ), 0, this, SLOT( showLicence() ), actionCollection(), @@ -2019,14 +2018,12 @@ void KABCore::addActionsManually() mActionPaste->plug( editMenu ); mActionDelete->plug( editMenu ); editMenu->insertSeparator(); mActionSelectAll->plug( editMenu ); mActionRemoveVoice->plug( changeMenu ); - mActionSetCat->plug( changeMenu ); - mActionAddCat->plug( changeMenu ); // settings menu //US special menuentry to configure the addressbook resources. On KDE // you do that through the control center !!! mActionConfigResources->plug( settingsMenu ); settingsMenu->insertSeparator(); @@ -2051,12 +2048,13 @@ void KABCore::addActionsManually() settingsMenu->insertSeparator(); mActionBR->plug(settingsMenu ); settingsMenu->insertSeparator(); mActionWhoAmI->plug( settingsMenu ); mActionCategories->plug( settingsMenu ); + mActionManageCategories->plug( settingsMenu ); mActionWN->plug( helpMenu ); mActionSyncHowto->plug( helpMenu ); mActionKdeSyncHowto->plug( helpMenu ); mActionMultiSyncHowto->plug( helpMenu ); @@ -2103,51 +2101,16 @@ void KABCore::addActionsManually() } void KABCore::showLicence() { KApplication::showLicence(); } -void KABCore::setCat() -{ - setCategories( true ); -} -void KABCore::addCat() -{ - setCategories( false ); -} -void KABCore::setCategories( bool removeOld ) + +void KABCore::manageCategories( ) { - KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KABPrefs::instance(), 0 ); - if (! csd->exec()) { - message( i18n("Setting categories cancelled") ); - delete csd; - return; - } - message( i18n("Setting categories ... please wait!") ); - QStringList catList = csd->selectedCategories(); - delete csd; - catList.sort(); - QStringList newList; - KABC::Addressee::List list = mViewManager->selectedAddressees(); - KABC::Addressee::List::Iterator it; - for ( it = list.begin(); it != list.end(); ++it ) { - if ( removeOld ) { - (*it).setCategories( catList ); - } else { - newList = (*it).categories(); - int i; - for( i = 0; i< catList.count(); ++i ) { - if ( !newList.contains (catList[i])) - newList.append( catList[i] ); - } - newList.sort(); - (*it).setCategories( newList ); - } - contactModified((*it) ); - } - message( i18n("Setting categories completed!") ); + } 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(); diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index 1bdae5f..bf5398b 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h @@ -240,12 +240,13 @@ class KABCore : public QWidget, public KSyncInterface /** Displays the category dialog and applies the result to all selected contacts. */ void setCategories(); + void manageCategories(); /** Sets the field list of the Incremental Search Widget. */ void setSearchFields( const KABC::Field::List &fields ); @@ -367,15 +368,12 @@ class KABCore : public QWidget, public KSyncInterface void extensionModified( const KABC::Addressee::List &list ); void extensionChanged( int id ); void clipboardDataChanged(); void updateActionMenu(); void configureKeyBindings(); void removeVoice(); - void setCat(); - void addCat(); - void setCategories( bool removeOld ); #ifdef KAB_EMBEDDED void configureResources(); #endif //KAB_EMBEDDED void slotEditorDestroyed( const QString &uid ); void configurationChanged(); @@ -451,12 +449,13 @@ class KABCore : public QWidget, public KSyncInterface KAction *mActionConfigureToolbars; KAction *mActionKeyBindings; KToggleAction *mActionJumpBar; KToggleAction *mActionDetails; KAction *mActionWhoAmI; KAction *mActionCategories; + KAction *mActionManageCategories; KAction *mActionAboutKAddressbook; KAction *mActionLicence; KAction *mActionFaq; KAction *mActionWN; KAction *mActionSyncHowto; KAction *mActionKdeSyncHowto; @@ -470,14 +469,12 @@ class KABCore : public QWidget, public KSyncInterface QPopupMenu *changeMenu; //US QAction *mActionSave; QPopupMenu *ImportMenu; QPopupMenu *ExportMenu; //LR additional methods KAction *mActionRemoveVoice; - KAction *mActionSetCat; - KAction *mActionAddCat; KAction * mActionImportOL; #ifndef KAB_EMBEDDED KAddressBookService *mAddressBookService; #endif //KAB_EMBEDDED |