00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef CONFIGFILTER_H
00019 #define CONFIGFILTER_H
00020
00021
00022 #include <qlayout.h>
00023 #include <qgroupbox.h>
00024 #include <qtooltip.h>
00025 #include <qcheckbox.h>
00026 #include <QTreeWidget>
00027 #include <QPointer>
00028
00029
00030 #include <kcmodule.h>
00031 #include <kconfig.h>
00032 #include <kgenericfactory.h>
00033 #include <kapplication.h>
00034 #include <kpushbutton.h>
00035 #include <kcombobox.h>
00036 #include <klineedit.h>
00037 #include <KConfigGroup>
00038 #include <KStandardDirs>
00039
00040
00041 #include "constants.h"
00042 #include "senderlistdialog.h"
00043 #include "filtersetupitem.h"
00044 #include "filtersetupdialog.h"
00045
00046
00047
00048 #define ID_COMBO_FILTER_OTHERS_ACTION_PASS 0
00049 #define ID_COMBO_FILTER_OTHERS_ACTION_DELETE 1
00050 #define ID_COMBO_FILTER_OTHERS_ACTION_MARK 2
00051 #define ID_COMBO_FILTER_OTHERS_ACTION_MOVE 3
00052 #define ID_COMBO_FILTER_OTHERS_ACTION_SPAMCHECK 4
00053 #define ID_COMBO_FILTER_OTHERS_ACTION_IGNORE 5
00054
00055
00060 class ConfigFilter : public KCModule
00061 {
00062 Q_OBJECT
00063
00064 public:
00065
00071 explicit ConfigFilter( QWidget *parent = 0, const QVariantList & args = QVariantList() );
00072
00076 ~ConfigFilter();
00077
00083 virtual void load();
00084
00090 virtual void defaults();
00091
00098 virtual void save();
00099
00100 private:
00101
00105 KSharedConfigPtr config;
00106
00110 QCheckBox* chkActivateFilter;
00111
00115 QGroupBox* gboxSenderLists;
00116
00120 QGroupBox* gboxFilters;
00121
00125 QGroupBox* gboxOthers;
00126
00130 KPushButton* btnOpenBlacklist;
00131
00135 KPushButton* btnOpenWhitelist;
00136
00140 QTreeWidget* listFilters;
00141
00145 KPushButton* btnMoveTop;
00146
00150 KPushButton* btnMoveBottom;
00151
00155 KPushButton* btnMoveUp;
00156
00160 KPushButton* btnMoveDown;
00161
00165 KPushButton* btnAdd;
00166
00170 KPushButton* btnEdit;
00171
00175 KPushButton* btnRemove;
00176
00180 KComboBox* cmbActionOthers;
00181
00185 KLineEdit* txtMailbox;
00186
00190 KPushButton* btnMailboxWizard;
00191
00196 uint lastFilterNumber;
00197
00198 private slots:
00199
00204 void slotChanged();
00205
00210 void slotOpenWhitelist();
00211
00216 void slotOpenBlacklist();
00217
00224 void slotAdd();
00225
00230 void slotEdit();
00231
00236 void slotRemove();
00237
00243 void slotOtherActionChanged( int index );
00244
00249 void slotMoveTop();
00250
00255 void slotMoveBottom();
00256
00261 void slotMoveUp();
00262
00267 void slotMoveDown();
00268
00274 void slotFilterActiveToggled( bool filterOn );
00275
00280 void slotOpenMailBoxWizard();
00281
00282
00283 protected:
00284
00289 void decreaseNumbers( uint number );
00290
00296 FilterSetupItem* getFilterItem( uint num );
00297
00298 };
00299
00300 #endif