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 saveOneFile( QListViewItem* item, bool encoded );
00044 void saveMultipleFiles( const QPtrList<QListViewItem>& selected, bool encoded );
00045 void restoreLayoutIfPresent();
00046
00047 protected:
00048 KMReaderWin* mReaderWin;
00049 KMMimePartTreeItem* mCurrentContextMenuItem;
00050 int mSizeColumn;
00051 };
00052
00053 class KMMimePartTreeItem :public QListViewItem
00054 {
00055 public:
00056 KMMimePartTreeItem( KMMimePartTree * parent,
00057 partNode* node,
00058 const QString & labelDescr,
00059 const QString & labelCntType = QString::null,
00060 const QString & labelEncoding = QString::null,
00061 KIO::filesize_t size=0 );
00062 KMMimePartTreeItem( KMMimePartTreeItem * parent,
00063 partNode* node,
00064 const QString & labelDescr,
00065 const QString & labelCntType = QString::null,
00066 const QString & labelEncoding = QString::null,
00067 KIO::filesize_t size=0,
00068 bool revertOrder = false );
00069 partNode* node() const { return mPartNode; }
00070
00071 KIO::filesize_t origSize() const { return mOrigSize; }
00072 void setOrigSize( KIO::filesize_t size ) { mOrigSize = size; }
00073
00074 private:
00075 void setIconAndTextForType( const QString & mimetype );
00076
00077 partNode* mPartNode;
00078 KIO::filesize_t mOrigSize;
00079 };
00080
00081 #endif // KMMIMEPARTTREE_H
This file is part of the documentation for kmail Library Version 3.2.2.