filter.cpp

00001 /***************************************************************************
00002                           filter.cpp  -  description
00003                              -------------------
00004     begin                : Die Sep 23 2003
00005     copyright            : (C) 2003 by Eggert Ehmke
00006     email                : eggert.ehmke@berlin.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #include "filter.h"
00019 
00020 FilterList Filter::_filter;
00021 Filter::filterStatus Filter::_status = Filter::off;
00022 
00023 Filter::Filter()
00024 {
00025 }
00026 
00027 Filter::~Filter()
00028 {
00029 }
00030 
00031 FilterElem* Filter::matches (ShowRecordElem* pElem)
00032 {
00033   for (FilterElem* pFilter = _filter.first(); pFilter; pFilter = _filter.next())
00034   {
00035     if (pFilter->matches (pElem))
00036       return pFilter;
00037   }
00038   return NULL;
00039 }
00040 
00041 void Filter::readOptions (KConfig* config)
00042 {
00043   config->setGroup ("filter_general");
00044   _status = (Filter::filterStatus)config->readNumEntry("status", 0);
00045   _filter.readOptions(config);
00046 }
00047 
00048 void Filter::saveOptions (KConfig* config)
00049 {
00050   config->setGroup ("filter_general");
00051   config->writeEntry ("status", _status);
00052   _filter.saveOptions(config);
00053   config->sync();
00054 }

Generated on Thu Jul 5 19:36:06 2007 for kshowmail by  doxygen 1.5.0