libkdepim Library API Documentation

progressdialog.h

00001 
00033 #ifndef __KPIM_PROGRESSDIALOG_H__
00034 #define __KPIM_PROGRESSDIALOG_H__
00035 
00036 #include <qdialog.h>
00037 #include <qlistview.h>
00038 #include <qlabel.h>
00039 #include <qvbox.h>
00040 #include "overlaywidget.h"
00041 
00042 class QProgressBar;
00043 class QScrollView;
00044 class QFrame;
00045 
00046 namespace KPIM {
00047 class ProgressItem;
00048 class TransactionItemListView;
00049 class TransactionItem;
00050 class SSLLabel;
00051 
00052 class TransactionItemView : public QScrollView {
00053   Q_OBJECT
00054 public:
00055   TransactionItemView( QWidget * parent = 0,
00056                        const char * name = 0,
00057                        WFlags f = 0 );
00058 
00059   virtual ~TransactionItemView()
00060   {}
00061   TransactionItem* addTransactionItem( ProgressItem *item, bool first );
00062 
00063 
00064   QSize sizeHint() const;
00065   QSize minimumSizeHint() const;
00066 public slots:
00067   void slotLayoutFirstItem();
00068 
00069 protected:
00070   virtual void resizeContents ( int w, int h );
00071 
00072 private:
00073   QVBox *                  mBigBox;
00074 };
00075 
00076 class TransactionItem : public QVBox {
00077 
00078   Q_OBJECT
00079 
00080 public:
00081   TransactionItem( QWidget * parent,
00082                    ProgressItem* item, bool first );
00083 
00084   ~TransactionItem();
00085 
00086   void hideHLine();
00087 
00088   void setProgress( int progress );
00089   void setLabel( const QString& );
00090   void setStatus( const QString& );
00091   void setCrypto( bool );
00092 
00093   ProgressItem* item() const { return mItem; }
00094 
00095   void addSubTransaction( ProgressItem *item);
00096 
00097   // The progressitem is deleted immediately, we take 5s to go out,
00098   // so better not use mItem during this time.
00099   void setItemComplete() { mItem = 0; }
00100 
00101 public slots:
00102   void slotItemCanceled();
00103 
00104 protected:
00105   QProgressBar* mProgress;
00106   QPushButton*  mCancelButton;
00107   QLabel*       mItemLabel;
00108   QLabel*       mItemStatus;
00109   QFrame*       mFrame;
00110   SSLLabel*     mSSLLabel;
00111   ProgressItem* mItem;
00112 };
00113 
00114 class ProgressDialog : public OverlayWidget
00115 {
00116     Q_OBJECT
00117 
00118 public:
00119   ProgressDialog( QWidget* alignWidget, QWidget* parent, const char* name = 0 );
00120   ~ProgressDialog();
00121   void setVisible( bool b );
00122 
00123 public slots:
00124   void slotToggleVisibility();
00125 
00126 protected slots:
00127   void slotTransactionAdded( ProgressItem *item );
00128   void slotTransactionCompleted( ProgressItem *item );
00129   void slotTransactionCanceled( ProgressItem *item );
00130   void slotTransactionProgress( ProgressItem *item, unsigned int progress );
00131   void slotTransactionStatus( ProgressItem *item, const QString& );
00132   void slotTransactionLabel( ProgressItem *item, const QString& );
00133   void slotTransactionUsesCrypto( ProgressItem *item, bool );
00134 
00135   void slotClose();
00136   void slotShow();
00137   void slotHide();
00138 
00139 signals:
00140   void visibilityChanged( bool );
00141 
00142 protected:
00143   virtual void closeEvent( QCloseEvent* );
00144 
00145   TransactionItemView* mScrollView;
00146   TransactionItem* mPreviousItem;
00147   QMap< const ProgressItem*, TransactionItem* > mTransactionsToListviewItems;
00148 };
00149 
00150 
00151 } // namespace KPIM
00152 
00153 #endif // __KPIM_PROGRESSDIALOG_H__
KDE Logo
This file is part of the documentation for libkdepim Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu May 3 20:20:06 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003