00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef SHOWRECORD_H
00019 #define SHOWRECORD_H
00020
00021
00022 #include <iostream>
00023
00024
00025 #include <qdom.h>
00026 #include <qptrlist.h>
00027
00028
00029 #include <kstandarddirs.h>
00030 #include <kdebug.h>
00031
00032
00033 #include "kshowmailview.h"
00034 #include "showrecordelem.h"
00035 #include "types.h"
00036 #include "headerfilter.h"
00037 #include "filterlog.h"
00038
00039 using namespace Types;
00040 using namespace std;
00041
00042
00043 class ShowRecordElem;
00044 class KshowmailView;
00045
00056 class ShowRecord: public QPtrList<ShowRecordElem>
00057 {
00058
00059 public:
00060
00065 static const int continueShowHeaders;
00066
00071 static const int cancelShowHeaders;
00072
00076 ShowRecord();
00077
00082 ~ShowRecord();
00083
00090 void saveOptions( QDomDocument& doc, QDomElement& parent );
00091
00098 void readStoredMails( QDomElement& parent );
00099
00109 void applyHeaderFilter( HeaderFilter* filter, QString account, MailNumberList_Type& deleteList, MailToDownloadMap_Type& downloadList, int& nmbIgnoredMails, FilterLog* log = NULL );
00110
00111
00118 bool hasSelectedMails();
00119
00124 Types::MailNumberList_Type getSelectedMails();
00125
00130 void removeMail( int number );
00131
00136 QStringList getSelectedSubjects() const;
00137
00143 QString getSenderOf( int number ) const;
00144
00150 QString getDateOf( int number ) const;
00151
00157 QString getSizeOf( int number ) const;
00158
00164 QString getSubjectOf( int number ) const;
00165
00178 QString decodeMailBody( QByteArray body, int number, bool preferHTML ) const;
00179
00186 bool hasMail( QString uid );
00187
00194 bool isNew( QString uid ) const;
00195
00202 void appendNewMail( int number, QString uid, bool isNew );
00203
00208 void printMailList();
00209
00215 void setSize( int number, long size );
00216
00221 Types::MailNumberList_Type getNewMails();
00222
00228 void setHeader( int number, QString header );
00229
00234 QStringList getUIDsOfOldMails();
00235
00241 QString getHeaderOf( QString uid );
00242
00248 void setHeader( QString uid, QString header );
00249
00254 int getNumberNewMails();
00255
00260 int getNumberMails();
00261
00266 long getTotalSize();
00267
00274 void fillMailListView( KshowmailView* view, QString& account );
00275
00282 int showSelectedHeaders( QString& account );
00283
00291 void writeToMoveLog( FilterLog* log, int number, QString account, QString mailbox );
00292
00299 void writeToDeleteLog( FilterLog* log, int number, QString account );
00300
00305 void setMarkAtNextViewRefresh( int number );
00306
00311 QStringList getSelectedSenders() const;
00312 };
00313
00314 #endif