author | zautrix <zautrix> | 2005-01-16 12:48:47 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-01-16 12:48:47 (UTC) |
commit | 3f61f5a339e9c0c67c17b16214abded0d123f246 (patch) (side-by-side diff) | |
tree | e3e858f70d85f5a8c6e1547113eae924be73c5c3 | |
parent | f3f63a1a1363cba9f58790812e43d6eda14f733c (diff) | |
download | kdepimpi-3f61f5a339e9c0c67c17b16214abded0d123f246.zip kdepimpi-3f61f5a339e9c0c67c17b16214abded0d123f246.tar.gz kdepimpi-3f61f5a339e9c0c67c17b16214abded0d123f246.tar.bz2 |
applied AB filters
-rw-r--r-- | kaddressbook/kabcore.cpp | 9 | ||||
-rw-r--r-- | kaddressbook/viewmanager.cpp | 9 | ||||
-rw-r--r-- | kaddressbook/viewmanager.h | 2 |
3 files changed, 20 insertions, 0 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index c6288fa..c5a36e2 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -2867,6 +2867,11 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo } #endif + + // ********** setting filters **************** + Filter filterIN = mViewManager->getFilterByName( syncManager->mFilterInAB ); + Filter filterOUT = mViewManager->getFilterByName( syncManager->mFilterOutAB ); + //qDebug("*************************** "); // qDebug("mLastAddressbookSync %s ",mLastAddressbookSync.toString().latin1() ); QStringList er = remote->uidList(); @@ -2946,6 +2951,7 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo } } } else { // no conflict ********** add or delete remote + if ( filterIN.name().isEmpty() || filterIN.filterAddressee( inR ) ) { if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { QString des = addresseeLSync.note(); if ( des.find( inR.getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it @@ -2978,6 +2984,7 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo } } } + } ++incCounter; } er.clear(); @@ -2996,6 +3003,8 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo bool skipIncidence = false; if ( uid.left(19) == QString("last-syncAddressee-") ) skipIncidence = true; + if ( !filterOUT.name().isEmpty() && ! filterOUT.filterAddressee( inL ) ) + skipIncidence = true; if ( !skipIncidence ) { inL = local->findByUid( uid ); if ( !inL.resource() || inL.resource()->includeInSync() ) { diff --git a/kaddressbook/viewmanager.cpp b/kaddressbook/viewmanager.cpp index 59bddd9..9c3a641 100644 --- a/kaddressbook/viewmanager.cpp +++ b/kaddressbook/viewmanager.cpp @@ -618,6 +618,15 @@ QStringList ViewManager::filterNames() const return names; } +Filter ViewManager::getFilterByName( const QString &name ) const +{ + Filter::List::ConstIterator it; + for ( it = mFilterList.begin(); it != mFilterList.end(); ++it ) + if ( name == (*it).name() ) + return (*it); + + return Filter(); +} int ViewManager::filterPosition( const QString &name ) const { diff --git a/kaddressbook/viewmanager.h b/kaddressbook/viewmanager.h index a03a83f..272e1b0 100644 --- a/kaddressbook/viewmanager.h +++ b/kaddressbook/viewmanager.h @@ -28,6 +28,7 @@ #include <qstringlist.h> #include <kaddressbookview.h> #include <qdict.h> +#include "filter.h" class KAction; class KSelectAction; @@ -59,6 +60,7 @@ class ViewManager : public QWidget void unloadViews(); KSelectAction * getFilterAction() { return mActionSelectFilter; } + Filter getFilterByName( const QString &name ) const; QStringList selectedUids() const; QStringList selectedEmails() const; |