kmmimeparttree.h
00001
00002 #ifndef KMMIMEPARTTREE_H
00003 #define KMMIMEPARTTREE_H
00004
00005 #include <klistview.h>
00006 #include <kio/global.h>
00007
00008 #include <qstring.h>
00009
00010 class partNode;
00011 class KMReaderWin;
00012 class KMMimePartTreeItem;
00013
00014 class KMMimePartTree : public KListView
00015 {
00016 Q_OBJECT
00017 friend class KMReaderWin;
00018
00019 public:
00020 KMMimePartTree( KMReaderWin* readerWin,
00021 QWidget* parent,
00022 const char* name = 0 );
00023 virtual ~KMMimePartTree();
00024
00025 void correctSize( QListViewItem * item );
00026
00027 protected slots:
00028 void itemClicked( QListViewItem* );
00029 void itemRightClicked( QListViewItem*, const QPoint& );
00030 void slotSaveAs();
00031 void slotSaveAsEncoded();
00032 void slotSaveAll();
00033
00034 protected:
00037 void styleChange( QStyle& oldStyle );
00038
00041 void setStyleDependantFrameWidth();
00042
00043 void saveSelectedBodyParts( bool encoded );
00044 void restoreLayoutIfPresent();
00045
00046 protected:
00047 KMReaderWin* mReaderWin;
00048 KMMimePartTreeItem* mCurrentContextMenuItem;
00049 int mSizeColumn;
00050 };
00051
00052 class KMMimePartTreeItem :public QListViewItem
00053 {
00054 public:
00055 KMMimePartTreeItem( KMMimePartTree * parent,
00056 partNode* node,
00057 const QString & labelDescr,
00058 const QString & labelCntType = QString::null,
00059 const QString & labelEncoding = QString::null,
00060 KIO::filesize_t size=0 );
00061 KMMimePartTreeItem( KMMimePartTreeItem * parent,
00062 partNode* node,
00063 const QString & labelDescr,
00064 const QString & labelCntType = QString::null,
00065 const QString & labelEncoding = QString::null,
00066 KIO::filesize_t size=0,
00067 bool revertOrder = false );
00068 partNode* node() const { return mPartNode; }
00069
00070 KIO::filesize_t origSize() const { return mOrigSize; }
00071 void setOrigSize( KIO::filesize_t size ) { mOrigSize = size; }
00072
00073 private:
00074 void setIconAndTextForType( const QString & mimetype );
00075
00076 partNode* mPartNode;
00077 KIO::filesize_t mOrigSize;
00078 };
00079
00080 #endif // KMMIMEPARTTREE_H
This file is part of the documentation for kmail Library Version 3.3.2.