# showrecordelem.h

Go to the documentation of this file.

    00001 /***************************************************************************
    00002                           showrecord.h  -  description
    00003                              -------------------
    00004     begin                : Thu Dec 28 2000
    00005     copyright            : (C) 2000-2001 by Eggert Ehmke
    00006     email                : eggert.ehmke@berlin.de
    00007  ***************************************************************************/
    00008
    00009 /***************************************************************************
    00010  *                                                                         *
    00011  *   This program is free software; you can redistribute it and/or modify  *
    00012  *   it under the terms of the GNU General Public License as published by  *
    00013  *   the Free Software Foundation; either version 2 of the License, or     *
    00014  *   (at your option) any later version.                                   *
    00015  *                                                                         *
    00016  ***************************************************************************/
    00017
    00018 #ifndef SHOWRECORDELEM_H
    00019 #define SHOWRECORDELEM_H
    00020
    00021 //TQt headers
    00022 #include <ntqdom.h>
    00023 #include <ntqstring.h>
    00024 #include <ntqlistview.h>
    00025 #include <ntqdatetime.h>
    00026
    00027 //KDE headers
    00028 #include <tdelocale.h>
    00029 #include <tdeglobal.h>
    00030 #include <kdebug.h>
    00031 #include <mimelib/datetime.h>
    00032 #include <kmdcodec.h>
    00033
    00034 //KShowmail headers
    00035 #include "showlistviewitem.h"
    00036 #include "decodeRFC2047.h"
    00037 #include "constants.h"
    00038 #include "kshowmailview.h"
    00039 #include "showheaderdialog.h"
    00040 #include "headerfilter.h"
    00041 #include "filterlog.h"
    00042
    00043 using namespace Constants;
    00044
    00045 //forward class declarations
    00046 class KshowmailView;
    00047 class FilterElem;
    00048
    00061 class ShowRecordElem
    00062 {
    00063
    00064   public:
    00065
    00070     static const int continueShowHeaders;
    00071
    00076     static const int cancelShowHeaders;
    00077
    00081         ShowRecordElem ();
    00082
    00089     ShowRecordElem( int number, TQString& uid, bool isNew );
    00090
    00096     void setHeader( const TQString& header );
    00097
    00102     TQString header() const;
    00103
    00108     TQString from() const;
    00109
    00114     TQString to() const;
    00115
    00120     TQString subject() const;
    00121
    00126     TQString content() const;
    00127
    00128
    00134     TQString date() const;
    00135
    00142     TQString strUnixTime () const;
    00143
    00148     TQDateTime sentDateTime() const;
    00149
    00154     void setUIDL( const TQString& uid );
    00155
    00160     TQString uidl() const;
    00161
    00166     void setSize( int size );
    00167
    00172     int size() const;
    00173
    00178     TQString strSize () const;
    00179
    00183     TQString strSizePrefix() const;
    00184
    00189     void setNew( bool isnew );
    00190
    00196     bool isNew() const;
    00197
    00203     TQString state() const;
    00204
    00209     void setNumber( int n );
    00210
    00215     int number() const;
    00216
    00223     void setViewItem( ShowListViewItem* item );
    00224
    00231     ShowListViewItem* viewItem() const;
    00232
    00246     FilterAction_Type applyHeaderFilter( HeaderFilter* filter, TQString account, TQString& mailbox, FilterLog* log = NULL );
    00247
    00255     void readOptions( TQDomElement& elem );
    00256
    00263     void saveOptions( TQDomDocument& doc, TQDomElement& parent );
    00264
    00270     bool isSelected() const;
    00271
    00283     TQString decodeMailBody( TQByteArray body, bool preferHTML ) const;
    00284
    00291     int showHeader( TQString& account );
    00292
    00299     void writeToMoveLog( FilterLog* log, TQString account, TQString mailbox );
    00300
    00306     void writeToDeleteLog( FilterLog* log, TQString account );
    00307
    00311     void setMarkAtNextViewRefresh();
    00312
    00313   private:
    00314
    00318     TQCString m_header;
    00319
    00323     TQCString m_from;
    00324
    00328     TQCString m_to;
    00329
    00333     TQCString m_subject;
    00334
    00338     TQDateTime m_unixDate;
    00339
    00343     TQCString m_content;
    00344
    00348     TQString m_uid;
    00349
    00353     int m_size;
    00354
    00358     bool m_new;
    00359
    00363     int m_nNumber;
    00364
    00371     bool markAtViewRefresh;
    00372
    00378     ShowListViewItem* m_pItem;
    00379
    00386     FilterElem* m_pFilter;
    00387
    00399     TQCString scanHeader( const TQString& item ) const;
    00400
    00405     void setFrom( const TQCString& from );
    00406
    00411     void setTo( const TQCString& to );
    00412
    00417     void setSubject( const TQCString& subject );
    00418
    00423     void setDate( const TQCString& date );
    00424
    00429     void setContent( const TQCString& content );
    00430
    00436     void setFilter( FilterElem* filter );
    00437
    00443     TQString getBoundary() const;
    00444
    00450     TQString getCharset() const;
    00451
    00458     TQString getTransferEncoding() const;
    00459
    00460 };
    00461
    00462 #endif