00001 #ifndef MYTHPROGRESSBOX_H_ 00002 #define MYTHPROGRESSBOX_H_ 00003 00004 #include <QEvent> 00005 00006 #include "mythscreentype.h" 00007 #include "mythmainwindow.h" 00008 #include "mythuitext.h" 00009 #include "mythuiprogressbar.h" 00010 00011 class MUI_PUBLIC ProgressUpdateEvent : public QEvent 00012 { 00013 public: 00014 ProgressUpdateEvent(uint count, uint total=0, QString message="") : 00015 QEvent(kEventType), m_total(total), m_count(count), 00016 m_message(message) { } 00017 00018 QString GetMessage() { return m_message; } 00019 uint GetTotal() { return m_total; } 00020 uint GetCount() { return m_count; } 00021 00022 static Type kEventType; 00023 00024 private: 00025 uint m_total; 00026 uint m_count; 00027 QString m_message; 00028 }; 00029 00030 class MUI_PUBLIC MythUIBusyDialog : public MythScreenType 00031 { 00032 Q_OBJECT 00033 public: 00034 MythUIBusyDialog(const QString &message, 00035 MythScreenStack *parent, const char *name); 00036 00037 bool Create(void); 00038 bool keyPressEvent(QKeyEvent *event); 00039 void SetMessage(const QString &message); 00040 void Reset(void); 00041 00042 virtual void Pulse(void); 00043 00044 protected: 00045 QString m_origMessage; 00046 QString m_message; 00047 bool m_haveNewMessage; 00048 QString m_newMessage; 00049 QMutex m_newMessageLock; 00050 00051 MythUIText *m_messageText; 00052 }; 00053 00054 class MUI_PUBLIC MythUIProgressDialog : public MythScreenType 00055 { 00056 Q_OBJECT 00057 public: 00058 MythUIProgressDialog(const QString &message, 00059 MythScreenStack *parent, const char *name); 00060 00061 bool Create(void); 00062 bool keyPressEvent(QKeyEvent *event); 00063 void customEvent(QEvent *event); 00064 void SetTotal(uint total); 00065 void SetProgress(uint count); 00066 void SetMessage(const QString &message); 00067 00068 protected: 00069 void UpdateProgress(void); 00070 00071 QString m_message; 00072 uint m_total; 00073 uint m_count; 00074 00075 MythUIText *m_messageText; 00076 MythUIText *m_progressText; 00077 MythUIProgressBar *m_progressBar; 00078 }; 00079 00080 MUI_PUBLIC MythUIBusyDialog *ShowBusyPopup(const QString &message); 00081 00082 #endif
1.6.3