summaryrefslogtreecommitdiffabout
path: root/kaddressbook/filter.cpp
authorzautrix <zautrix>2005-01-16 14:10:42 (UTC)
committer zautrix <zautrix>2005-01-16 14:10:42 (UTC)
commitde5f08d69c716f85cc92f20700cd24fb1ad41295 (patch) (side-by-side diff)
tree0a4f5dbbdb4fc24215ab85fa4b5e073d0e8104ef /kaddressbook/filter.cpp
parent3f61f5a339e9c0c67c17b16214abded0d123f246 (diff)
downloadkdepimpi-de5f08d69c716f85cc92f20700cd24fb1ad41295.zip
kdepimpi-de5f08d69c716f85cc92f20700cd24fb1ad41295.tar.gz
kdepimpi-de5f08d69c716f85cc92f20700cd24fb1ad41295.tar.bz2
added AB filter settings
Diffstat (limited to 'kaddressbook/filter.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/filter.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/kaddressbook/filter.cpp b/kaddressbook/filter.cpp
index 39d2ae4..9cb4c2d 100644
--- a/kaddressbook/filter.cpp
+++ b/kaddressbook/filter.cpp
@@ -28,17 +28,20 @@
#include "kabprefs.h"
#include "filter.h"
+#include <secrecy.h>
Filter::Filter()
: mName( QString::null ), mMatchRule( Matching ), mEnabled( true ),
mInternal( false )
{
+ mCriteria = ShowPublic | ShowPrivate| ShowConfidential ;
}
Filter::Filter( const QString &name )
: mName( name ), mMatchRule( Matching ), mEnabled( true ),
mInternal( false )
{
+ mCriteria = ShowPublic | ShowPrivate| ShowConfidential ;
}
Filter::~Filter()
@@ -79,6 +82,23 @@ void Filter::apply( KABC::Addressee::List &addresseeList )
bool Filter::filterAddressee( const KABC::Addressee &a )
{
+ switch ( a.secrecy().type()) {
+ case KABC::Secrecy::Public:
+ if (! (mCriteria & ShowPublic ))
+ return false;
+ break;
+ case KABC::Secrecy::Private:
+ if (! (mCriteria & ShowPrivate ))
+ return false;
+ break;
+ case KABC::Secrecy::Confidential:
+ if (! (mCriteria & ShowConfidential ))
+ return false;
+ break;
+ default:
+ return false;
+ break;
+ }
QStringList::Iterator iter;
iter = mCategoryList.begin();
// empty filter always matches
@@ -120,6 +140,7 @@ void Filter::save( KConfig *config )
config->writeEntry( "Enabled", mEnabled );
config->writeEntry( "Categories", mCategoryList );
config->writeEntry( "MatchRule", (int)mMatchRule );
+ config->writeEntry( "Criteria", (int)mCriteria );
}
void Filter::restore( KConfig *config )
@@ -128,6 +149,7 @@ void Filter::restore( KConfig *config )
mEnabled = config->readBoolEntry( "Enabled", true );
mCategoryList = config->readListEntry( "Categories" );
mMatchRule = (MatchRule)config->readNumEntry( "MatchRule", Matching );
+ mCriteria = config->readNumEntry( "Criteria", (ShowPublic | ShowPrivate| ShowConfidential) );
}
void Filter::save( KConfig *config, QString baseGroup, Filter::List &list )