-rw-r--r-- | kaddressbook/filter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kaddressbook/filter.cpp b/kaddressbook/filter.cpp index 12ab1e3..6462310 100644 --- a/kaddressbook/filter.cpp +++ b/kaddressbook/filter.cpp @@ -125,114 +125,114 @@ bool Filter::filterAddressee( const KABC::Addressee &a ) void Filter::setEnabled( bool on ) { mEnabled = on; } bool Filter::isEnabled() const { return mEnabled; } void Filter::setCategories( const QStringList &list ) { mCategoryList = list; } const QStringList &Filter::categories() const { return mCategoryList; } void Filter::save( KConfig *config ) { config->writeEntry( "Name", mName ); config->writeEntry( "Enabled", mEnabled ); config->writeEntry( "Categories", mCategoryList ); config->writeEntry( "MatchRule", (int)mMatchRule ); config->writeEntry( "Criteria", (int)mCriteria ); } void Filter::restore( KConfig *config ) { noName = false; mName = config->readEntry( "Name", "<internal error>" ); 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 ) { { KConfigGroupSaver s( config, baseGroup ); // remove the old filters uint count = config->readNumEntry( "Count" ); /* // memory access violation here for ( uint i = 0; i < count; ++i ) config->deleteGroup( QString( "%1_%2" ).arg( baseGroup ).arg( i ) ); */ } int index = 0; Filter::List::Iterator iter; for ( iter = list.begin(); iter != list.end(); ++iter ) { if ( !(*iter).mInternal ) { KConfigGroupSaver s( config, QString( "%1_%2" ).arg( baseGroup ).arg( index ) ); (*iter).save( config ); index++; } } KConfigGroupSaver s( config, baseGroup ); config->writeEntry( "Count", index ); } Filter::List Filter::restore( KConfig *config, QString baseGroup ) { Filter::List list; int count = 0; Filter f; { KConfigGroupSaver s( config, baseGroup ); count = config->readNumEntry( "Count", 0 ); } for ( int i = 0; i < count; i++ ) { { KConfigGroupSaver s( config, QString( "%1_%2" ).arg( baseGroup ).arg( i ) ); f.restore( config ); } list.append( f ); } if ( list.isEmpty()) { QStringList cats = KABPrefs::instance()->mCustomCategories; for ( QStringList::Iterator it = cats.begin(); it != cats.end(); ++it ) { Filter filter; filter.noName = false; filter.mName = *it; filter.mEnabled = true; - filter.mCategoryList = *it; + filter.mCategoryList = QStringList(*it); filter.mMatchRule = Matching; filter.mInternal = true; list.append( filter ); } } return list; } void Filter::setMatchRule( MatchRule rule ) { mMatchRule = rule; } Filter::MatchRule Filter::matchRule() const { return mMatchRule; } |