diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /knode/knstatusfilter.h | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'knode/knstatusfilter.h')
-rw-r--r-- | knode/knstatusfilter.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/knode/knstatusfilter.h b/knode/knstatusfilter.h new file mode 100644 index 00000000..43030de4 --- /dev/null +++ b/knode/knstatusfilter.h @@ -0,0 +1,99 @@ +/* + knstatusfilter.h + + KNode, the KDE newsreader + Copyright (c) 1999-2001 the KNode authors. + See file AUTHORS for details + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US +*/ + +#ifndef KNSTATUSFILTER_H +#define KNSTATUSFILTER_H + +#include <qbuttongroup.h> +#include <qcombobox.h> +#include <qbitarray.h> + +class QCheckBox; +class KSimpleConfig; +class KNRemoteArticle; + + +class KNStatusFilter { + + friend class KNStatusFilterWidget; + + public: + KNStatusFilter(); + ~KNStatusFilter(); + + KNStatusFilter& operator=(const KNStatusFilter &sf) + { for(int i=0; i<8; i++) data.setBit(i, sf.data.at(i)); return (*this); } + + void load(KSimpleConfig *conf); + void save(KSimpleConfig *conf); + + bool doFilter(KNRemoteArticle *a); + + protected: + QBitArray data; + +}; + + +//================================================================================= + + +class KNStatusFilterWidget : public QButtonGroup { + + Q_OBJECT + + public: + KNStatusFilterWidget(QWidget *parent); + ~KNStatusFilterWidget(); + + KNStatusFilter filter(); + void setFilter(KNStatusFilter &f); + void clear(); + + + protected: + + class TFCombo : public QComboBox { + + public: + TFCombo(QWidget *parent); + ~TFCombo(); + void setValue(bool b) { if(b) setCurrentItem(0); else setCurrentItem(1); } + bool value() const { return (currentItem()==0); } + }; + + + QCheckBox *enR, *enN, *enUS, *enNS; + TFCombo *rCom, *nCom, *usCom, *nsCom; + + protected slots: + void slotEnabled(int c); + +}; + + +#define EN_R 0 +#define EN_N 1 +#define EN_US 2 +#define EN_NS 3 + +#define DAT_R 4 +#define DAT_N 5 +#define DAT_US 6 +#define DAT_NS 7 + + +#endif |