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
00098
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 }
00152
00153 #endif // __KPIM_PROGRESSDIALOG_H__
This file is part of the documentation for libkdepim Library Version 3.3.2.