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