00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef KMPOPHEADERSDLG_H
00019
#define KMPOPHEADERSDLG_H
00020
00021
#include "kmpopheaders.h"
00022
00023
#include <kdialogbase.h>
00024
#include <klistview.h>
00025
00026
#include <qptrlist.h>
00027
#include <qmap.h>
00028
00029
class QWidget;
00030
class QString;
00031
00032
class KMPopFilterCnfrmDlg;
00036 class KMPopHeadersView :
public KListView
00037 {
00038 Q_OBJECT
00039
00040
public:
00041
KMPopHeadersView(
QWidget *aParent=0, KMPopFilterCnfrmDlg *aDialog=0);
00042 ~
KMPopHeadersView();
00043
static const KMPopFilterAction mapToAction(
int aColumn) {
return (KMPopFilterAction)aColumn;};
00044
static const int mapToColumn(KMPopFilterAction aAction) {
return (
int)aAction;};
00045
static const char *mUnchecked[26];
00046
static const char *mChecked[26];
00047
protected:
00048
static const char *mLater[25];
00049
static const char *mDown[20];
00050
static const char *mDel[19];
00051
void keyPressEvent(
QKeyEvent *k);
00052
00053
protected slots:
00054
void slotPressed(
QListViewItem* aItem,
const QPoint& aPoint,
int aColumn);
00055
00056
private:
00057 KMPopFilterCnfrmDlg *mDialog;
00058 };
00059
00060
00061
00062
class KMPopHeadersViewItem :
public KListViewItem
00063 {
00064
public:
00065 KMPopHeadersViewItem(
KMPopHeadersView *aParent, KMPopFilterAction aAction);
00066 ~KMPopHeadersViewItem();
00067
void setAction(KMPopFilterAction aAction);
00068 KMPopFilterAction action() {
return mAction; };
00069
virtual void paintFocus(
QPainter *,
const QColorGroup & cg,
const QRect &r);
00070
virtual QString key(
int col,
bool ascending)
const;
00071
protected:
00072
KMPopHeadersView *mParent;
00073 KMPopFilterAction mAction;
00074 };
00075
00076
00077
class KMPopFilterCnfrmDlg :
public KDialogBase
00078 {
00079
friend class KMPopHeadersView;
00080 Q_OBJECT
00081
protected:
00082 KMPopFilterCnfrmDlg() { };
00083
QMap<QListViewItem*, KMPopHeaders*> mItemMap;
00084
QPtrList<KMPopHeadersViewItem> mDelList;
00085
QPtrList<KMPopHeaders> mDDLList;
00086
KMPopHeadersView *mFilteredHeaders;
00087
bool mLowerBoxVisible;
00088
bool mShowLaterMsgs;
00089
void setupLVI(KMPopHeadersViewItem *lvi, KMMessage *msg);
00090
00091
00092
public:
00093 KMPopFilterCnfrmDlg(
QPtrList<KMPopHeaders> *aHeaders,
const QString &aAccount,
bool aShowLaterMsgs =
false,
QWidget *aParent=0,
const char *aName=0);
00094 ~KMPopFilterCnfrmDlg();
00095
00096
public:
00097
void setAction(
QListViewItem *aItem, KMPopFilterAction aAction);
00098
00099
protected slots:
00106
void slotPressed(
QListViewItem *aItem,
const QPoint &aPnt,
int aColumn);
00107
void slotToggled(
bool aOn);
00108
void slotUpdateMinimumSize();
00109 };
00110
00111
#endif