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 <tqptrlist.h>
00027 #include <tqmap.h>
00028
00029 class TQWidget;
00030 class TQString;
00031
00032 class KMPopFilterCnfrmDlg;
00036 class KMPopHeadersView : public KListView
00037 {
00038 Q_OBJECT
00039 TQ_OBJECT
00040
00041 public:
00042 KMPopHeadersView(TQWidget *aParent=0, KMPopFilterCnfrmDlg *aDialog=0);
00043 ~KMPopHeadersView();
00044 static const KMPopFilterAction mapToAction(int aColumn) { return (KMPopFilterAction)aColumn;};
00045 static const int mapToColumn(KMPopFilterAction aAction) { return (int)aAction;};
00046 static const char *mUnchecked[26];
00047 static const char *mChecked[26];
00048 protected:
00049 static const char *mLater[25];
00050 static const char *mDown[20];
00051 static const char *mDel[19];
00052 void keyPressEvent( TQKeyEvent *k);
00053
00054 protected slots:
00055 void slotPressed(TQListViewItem* aItem, const TQPoint& aPoint, int aColumn);
00056
00057 private:
00058 KMPopFilterCnfrmDlg *mDialog;
00059 };
00060
00061
00062
00063 class KMPopHeadersViewItem : public KListViewItem
00064 {
00065 public:
00066 KMPopHeadersViewItem(KMPopHeadersView *aParent, KMPopFilterAction aAction);
00067 ~KMPopHeadersViewItem();
00068 void setAction(KMPopFilterAction aAction);
00069 KMPopFilterAction action() { return mAction; };
00070 virtual void paintFocus(TQPainter *, const TQColorGroup & cg, const TQRect &r);
00071 virtual TQString key(int col, bool ascending) const;
00072 protected:
00073 KMPopHeadersView *mParent;
00074 KMPopFilterAction mAction;
00075 };
00076
00077
00078 class KMPopFilterCnfrmDlg : public KDialogBase
00079 {
00080 friend class ::KMPopHeadersView;
00081 Q_OBJECT
00082 TQ_OBJECT
00083 protected:
00084 KMPopFilterCnfrmDlg() { };
00085 TQMap<TQListViewItem*, KMPopHeaders*> mItemMap;
00086 TQPtrList<KMPopHeadersViewItem> mDelList;
00087 TQPtrList<KMPopHeaders> mDDLList;
00088 KMPopHeadersView *mFilteredHeaders;
00089 bool mLowerBoxVisible;
00090 bool mShowLaterMsgs;
00091 void setupLVI(KMPopHeadersViewItem *lvi, KMMessage *msg);
00092
00093
00094 public:
00095 KMPopFilterCnfrmDlg(TQPtrList<KMPopHeaders> *aHeaders, const TQString &aAccount, bool aShowLaterMsgs = false, TQWidget *aParent=0, const char *aName=0);
00096 ~KMPopFilterCnfrmDlg();
00097
00098 public:
00099 void setAction(TQListViewItem *aItem, KMPopFilterAction aAction);
00100
00101 protected slots:
00108 void slotPressed(TQListViewItem *aItem, const TQPoint &aPnt, int aColumn);
00109 void slotToggled(bool aOn);
00110 void slotUpdateMinimumSize();
00111 };
00112
00113 #endif