author | zautrix <zautrix> | 2004-10-29 23:13:22 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-29 23:13:22 (UTC) |
commit | da80b510e4643fa3f78cf3f97af108e87097583d (patch) (unidiff) | |
tree | 01c328362a6bf1898853ba26fd5d48eb5cff1e27 | |
parent | aafa695508796e86e9f267633ea5e6965d876031 (diff) | |
download | kdepimpi-da80b510e4643fa3f78cf3f97af108e87097583d.zip kdepimpi-da80b510e4643fa3f78cf3f97af108e87097583d.tar.gz kdepimpi-da80b510e4643fa3f78cf3f97af108e87097583d.tar.bz2 |
added better category handling to kapi
-rw-r--r-- | kabc/addressee.cpp | 4 | ||||
-rw-r--r-- | kabc/addressee.h | 2 | ||||
-rw-r--r-- | kabc/field.cpp | 6 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 54 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 5 |
5 files changed, 68 insertions, 3 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp index eec0f1f..3ce733d 100644 --- a/kabc/addressee.cpp +++ b/kabc/addressee.cpp | |||
@@ -1998,2 +1998,6 @@ QString Addressee::resourceLabel() | |||
1998 | } | 1998 | } |
1999 | QString Addressee::categoryLabel() | ||
2000 | { | ||
2001 | return i18n("Category"); | ||
2002 | } | ||
1999 | 2003 | ||
diff --git a/kabc/addressee.h b/kabc/addressee.h index 2c81c1a..08d2f56 100644 --- a/kabc/addressee.h +++ b/kabc/addressee.h | |||
@@ -825,3 +825,3 @@ class Addressee | |||
825 | static QString resourceLabel(); | 825 | static QString resourceLabel(); |
826 | 826 | static QString categoryLabel(); | |
827 | /** | 827 | /** |
diff --git a/kabc/field.cpp b/kabc/field.cpp index d95cd19..89d0b77 100644 --- a/kabc/field.cpp +++ b/kabc/field.cpp | |||
@@ -59,2 +59,3 @@ class Field::FieldImpl | |||
59 | Birthday, | 59 | Birthday, |
60 | Category, | ||
60 | HomeAddressStreet, | 61 | HomeAddressStreet, |
@@ -197,2 +198,4 @@ QString Field::label() | |||
197 | return Addressee::resourceLabel(); | 198 | return Addressee::resourceLabel(); |
199 | case FieldImpl::Category: | ||
200 | return Addressee::categoryLabel(); | ||
198 | case FieldImpl::Sip: | 201 | case FieldImpl::Sip: |
@@ -279,2 +282,4 @@ QString Field::value( const KABC::Addressee &a ) | |||
279 | return a.resource()->resourceName(); | 282 | return a.resource()->resourceName(); |
283 | case FieldImpl::Category: | ||
284 | return a.categories().join(","); | ||
280 | case FieldImpl::HomePhone: | 285 | case FieldImpl::HomePhone: |
@@ -397,2 +402,3 @@ Field::List Field::allFields() | |||
397 | createField( FieldImpl::Birthday, Personal ); | 402 | createField( FieldImpl::Birthday, Personal ); |
403 | createField( FieldImpl::Category ); | ||
398 | createField( FieldImpl::HomeAddressStreet, Address|Personal ); | 404 | createField( FieldImpl::HomeAddressStreet, Address|Personal ); |
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index e6bdde9..2c2f1a0 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -1878,4 +1878,2 @@ void KABCore::initActions() | |||
1878 | 1878 | ||
1879 | |||
1880 | |||
1881 | mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, | 1879 | mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, |
@@ -1887,2 +1885,12 @@ void KABCore::initActions() | |||
1887 | "remove_voice" ); | 1885 | "remove_voice" ); |
1886 | |||
1887 | mActionSetCat= new KAction( i18n( "Set categories..." ), 0, this, | ||
1888 | SLOT( setCat() ), actionCollection(), | ||
1889 | "remove_voice" ); | ||
1890 | |||
1891 | |||
1892 | mActionAddCat= new KAction( i18n( "Add categories..." ), 0, this, | ||
1893 | SLOT( addCat() ), actionCollection(), | ||
1894 | "remove_voice" ); | ||
1895 | |||
1888 | mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, | 1896 | mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, |
@@ -2016,2 +2024,4 @@ void KABCore::addActionsManually() | |||
2016 | mActionRemoveVoice->plug( changeMenu ); | 2024 | mActionRemoveVoice->plug( changeMenu ); |
2025 | mActionSetCat->plug( changeMenu ); | ||
2026 | mActionAddCat->plug( changeMenu ); | ||
2017 | // settings menu | 2027 | // settings menu |
@@ -2098,2 +2108,42 @@ void KABCore::showLicence() | |||
2098 | } | 2108 | } |
2109 | void KABCore::setCat() | ||
2110 | { | ||
2111 | setCategories( true ); | ||
2112 | } | ||
2113 | void KABCore::addCat() | ||
2114 | { | ||
2115 | setCategories( false ); | ||
2116 | } | ||
2117 | void KABCore::setCategories( bool removeOld ) | ||
2118 | { | ||
2119 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KABPrefs::instance(), 0 ); | ||
2120 | if (! csd->exec()) { | ||
2121 | message( i18n("Setting categories cancelled") ); | ||
2122 | delete csd; | ||
2123 | return; | ||
2124 | } | ||
2125 | message( i18n("Setting categories ... please wait!") ); | ||
2126 | QStringList catList = csd->selectedCategories(); | ||
2127 | delete csd; | ||
2128 | catList.sort(); | ||
2129 | QStringList newList; | ||
2130 | KABC::Addressee::List list = mViewManager->selectedAddressees(); | ||
2131 | KABC::Addressee::List::Iterator it; | ||
2132 | for ( it = list.begin(); it != list.end(); ++it ) { | ||
2133 | if ( removeOld ) { | ||
2134 | (*it).setCategories( catList ); | ||
2135 | } else { | ||
2136 | newList = (*it).categories(); | ||
2137 | int i; | ||
2138 | for( i = 0; i< catList.count(); ++i ) { | ||
2139 | if ( !newList.contains (catList[i])) | ||
2140 | newList.append( catList[i] ); | ||
2141 | } | ||
2142 | newList.sort(); | ||
2143 | (*it).setCategories( newList ); | ||
2144 | } | ||
2145 | contactModified((*it) ); | ||
2146 | } | ||
2147 | message( i18n("Setting categories completed!") ); | ||
2148 | } | ||
2099 | void KABCore::removeVoice() | 2149 | void KABCore::removeVoice() |
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index c01d598..1bdae5f 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h | |||
@@ -372,2 +372,5 @@ class KABCore : public QWidget, public KSyncInterface | |||
372 | void removeVoice(); | 372 | void removeVoice(); |
373 | void setCat(); | ||
374 | void addCat(); | ||
375 | void setCategories( bool removeOld ); | ||
373 | #ifdef KAB_EMBEDDED | 376 | #ifdef KAB_EMBEDDED |
@@ -472,2 +475,4 @@ class KABCore : public QWidget, public KSyncInterface | |||
472 | KAction *mActionRemoveVoice; | 475 | KAction *mActionRemoveVoice; |
476 | KAction *mActionSetCat; | ||
477 | KAction *mActionAddCat; | ||
473 | KAction * mActionImportOL; | 478 | KAction * mActionImportOL; |