00001 //============================================== 00002 // copyright : (C) 2003-2005 by Will Stokes 00003 //============================================== 00004 // This program is free software; you can redistribute it 00005 // and/or modify it under the terms of the GNU General 00006 // Public License as published by the Free Software 00007 // Foundation; either version 2 of the License, or 00008 // (at your option) any later version. 00009 //============================================== 00010 00011 #ifndef GUI_STATUSWIDGET_H 00012 #define GUI_STATUSWIDGET_H 00013 00014 //-------------------- 00015 //forward declarations 00016 class QGridLayout; 00017 class QLabel; 00018 class QFrame; 00019 class QProgressBar; 00020 class QTimer; 00021 class ClickableLabel; 00022 //-------------------- 00023 00024 #include <qwidget.h> 00025 #include <qhttp.h> 00026 00027 //===================================== 00028 class StatusWidget : public QWidget 00029 { 00030 Q_OBJECT 00031 //---------------------- 00032 public: 00034 StatusWidget(QWidget *parent=0, const char* name=0); 00035 00037 ~StatusWidget(); 00038 00040 void showProgressBar(QString message, int numSteps); 00041 00043 void updateProgress(int progress, 00044 QString newMessage=QString::null); 00045 00047 int currentProgress(); 00048 00050 void incrementProgress(); 00051 00053 void setStatus( QString message ); 00054 00056 void checkForUpdates(); 00057 00059 void removeUpdatesIcon(); 00060 00061 //grab user input 00062 void grabInput(); 00063 00064 //release user input 00065 void releaseInput(); 00066 //---------------------- 00067 private slots: 00069 void fileFetched(bool error); 00070 00072 void removeStatus(); 00073 //---------------------- 00074 private: 00076 QGridLayout* grid; 00077 00078 QLabel* message; 00079 QProgressBar* progressBar; 00080 int curStep; 00081 00082 QTimer* timer; 00083 //---------------------- 00085 QHttp http; 00086 00088 ClickableLabel* updateAvailable; 00089 //---------------------- 00090 00091 }; 00092 //====================== 00093 00094 #endif //GUI_STATUSWIDGET_H