kmail
kmmimeparttree.hGo to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef KMMIMEPARTTREE_H
00036 #define KMMIMEPARTTREE_H
00037
00038 #include <klistview.h>
00039 #include <kio/global.h>
00040
00041 #include <qstring.h>
00042
00043 class partNode;
00044 class KMReaderWin;
00045 class KMMimePartTreeItem;
00046
00047 class KMMimePartTree : public KListView
00048 {
00049 Q_OBJECT
00050 friend class ::KMReaderWin;
00051
00052 public:
00053 KMMimePartTree( KMReaderWin* readerWin,
00054 QWidget* parent,
00055 const char* name = 0 );
00056 virtual ~KMMimePartTree();
00057
00058 void correctSize( QListViewItem * item );
00059
00060 protected slots:
00061 void itemClicked( QListViewItem* );
00062 void itemRightClicked( QListViewItem*, const QPoint& );
00063 void slotSaveAs();
00064 void slotSaveAsEncoded();
00065 void slotSaveAll();
00066 void slotDelete();
00067 void slotEdit();
00068 void slotOpen();
00069 void slotOpenWith();
00070 void slotView();
00071 void slotProperties();
00072 void slotCopy();
00073
00074 protected:
00077 void styleChange( QStyle& oldStyle );
00078
00081 void setStyleDependantFrameWidth();
00082
00083 void saveSelectedBodyParts( bool encoded );
00084 void restoreLayoutIfPresent();
00085
00086
00087 void startDrag();
00088
00089 void startHandleAttachmentCommand( int type );
00090
00091 protected:
00092 KMReaderWin* mReaderWin;
00093 KMMimePartTreeItem* mCurrentContextMenuItem;
00094 int mSizeColumn;
00095 };
00096
00097 class KMMimePartTreeItem :public QListViewItem
00098 {
00099 public:
00100 KMMimePartTreeItem( KMMimePartTree * parent,
00101 partNode* node,
00102 const QString & labelDescr,
00103 const QString & labelCntType = QString::null,
00104 const QString & labelEncoding = QString::null,
00105 KIO::filesize_t size=0 );
00106 KMMimePartTreeItem( KMMimePartTreeItem * parent,
00107 partNode* node,
00108 const QString & labelDescr,
00109 const QString & labelCntType = QString::null,
00110 const QString & labelEncoding = QString::null,
00111 KIO::filesize_t size=0,
00112 bool revertOrder = false );
00113 partNode* node() const { return mPartNode; }
00114
00115 KIO::filesize_t origSize() const { return mOrigSize; }
00116 void setOrigSize( KIO::filesize_t size ) { mOrigSize = size; }
00117
00118 private:
00119 void setIconAndTextForType( const QString & mimetype );
00120
00121 partNode* mPartNode;
00122 KIO::filesize_t mOrigSize;
00123 };
00124
00125 #endif // KMMIMEPARTTREE_H
|