00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef FILTERCRITERIAWIDGET_H
00019 #define FILTERCRITERIAWIDGET_H
00020
00021
00022 #include <qwidget.h>
00023 #include <qlayout.h>
00024 #include <qcheckbox.h>
00025 #include <QPointer>
00026
00027
00028 #include <klineedit.h>
00029 #include <kseparator.h>
00030 #include <kdialog.h>
00031 #include <kcombobox.h>
00032 #include <klocale.h>
00033 #include <knuminput.h>
00034 #include <kpushbutton.h>
00035 #include <kregexpeditorinterface.h>
00036 #include <kservicetypetrader.h>
00037 #include <kdebug.h>
00038 #include <kmessagebox.h>
00039 #include <kparts/componentfactory.h>
00040
00041
00042 #include <constants.h>
00043 #include <types.h>
00044 #include "regexcheckdialog.h"
00045
00046
00047 #define ID_COMBO_SOURCE_FROM 0
00048 #define ID_COMBO_SOURCE_TO 1
00049 #define ID_COMBO_SOURCE_SIZE 2
00050 #define ID_COMBO_SOURCE_SUBJECT 3
00051 #define ID_COMBO_SOURCE_HEADER 4
00052 #define ID_COMBO_SOURCE_ACCOUNT 5
00053
00054 #define ID_COMBO_COND_TEXT_CONTAINS 0
00055 #define ID_COMBO_COND_TEXT_NOT_CONTAINS 1
00056 #define ID_COMBO_COND_TEXT_EQUALS 2
00057 #define ID_COMBO_COND_TEXT_NOT_EQUALS 3
00058 #define ID_COMBO_COND_TEXT_REGEXPR 4
00059 #define ID_COMBO_COND_TEXT_NOT_REGEXPR 5
00060
00061 #define ID_COMBO_COND_NUM_EQUAL 0
00062 #define ID_COMBO_COND_NUM_NOT_EQUAL 1
00063 #define ID_COMBO_COND_NUM_GREATER 2
00064 #define ID_COMBO_COND_NUM_GREATER_EQUAL 3
00065 #define ID_COMBO_COND_NUM_LESS 4
00066 #define ID_COMBO_COND_NUM_LESS_EQUAL 5
00067
00068 #define FILTER_CRITERIA_WIDGET_NAME "FilterCriteriaWidg"
00069
00070 using namespace Types;
00071
00076 class FilterCriteriaWidget : public QWidget
00077 {
00078
00079 Q_OBJECT
00080
00081 public:
00082
00087 FilterCriteriaWidget( QWidget *parent = 0 );
00088
00092 ~FilterCriteriaWidget();
00093
00100 void setNumCriteria( int source, int condition, uint value );
00101
00109 void setTextCriteria( int source, int condition, QString value, bool cs );
00110
00118 void setTextListCriteria( int source, int condition, QString value, bool cs );
00119
00124 FilterCriteria_Type getValues();
00125
00126 private:
00127
00131 KComboBox* cmbSource;
00132
00136 KComboBox* cmbConditionText;
00137
00141 KComboBox* cmbConditionTextList;
00142
00146 KComboBox* cmbConditionNum;
00147
00151 KLineEdit* txtCompValueText;
00152
00156 KIntNumInput* spbCompValueNum;
00157
00161 QCheckBox* chkCaseSensitive;
00162
00166 KPushButton* btnOpenRegExpEditor;
00167
00168
00169 private slots:
00170
00175 void slotSetWidgets();
00176
00180 void slotOpenRegExpCheck();
00181 };
00182
00183 #endif