kmail Library API Documentation

kmmimeparttree.h

00001 // -*- c++ -*-
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
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 11:37:33 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003