00001 #ifndef STATUSBOX_H_
00002 #define STATUSBOX_H_
00003
00004 #include <qstringlist.h>
00005 #include "mythwidgets.h"
00006 #include "mythdialogs.h"
00007 #include "uitypes.h"
00008 #include "xmlparse.h"
00009 #include "programinfo.h"
00010
00011 typedef QMap<QString, unsigned int> recprof2bps_t;
00012
00013 class LayerSet;
00014
00015 class StatusBox : public MythDialog
00016 {
00017 Q_OBJECT
00018 public:
00019 StatusBox(MythMainWindow *parent, const char *name = 0);
00020 ~StatusBox(void);
00021
00022 bool IsErrored() const { return errored; }
00023
00024 protected slots:
00025
00026 protected:
00027 void keyPressEvent(QKeyEvent *e);
00028 void paintEvent(QPaintEvent *e);
00029
00030 private:
00031 void updateBackground();
00032 void updateTopBar();
00033 void updateSelector();
00034 void updateContent();
00035 void LoadTheme();
00036 void doListingsStatus();
00037 void doScheduleStatus();
00038 void doTunerStatus();
00039 void doLogEntries();
00040 void doJobQueueStatus();
00041 void doMachineStatus();
00042 void doAutoExpireList();
00043 void clicked();
00044 void setHelpText();
00045 void getActualRecordedBPS(QString hostnames);
00046
00047 XMLParse *theme;
00048 QDomElement xmldata;
00049 QRect TopRect, SelectRect, ContentRect;
00050 UITextType *heading, *helptext;
00051 UIListType *icon_list, *list_area;
00052 LayerSet *selector, *topbar, *content;
00053
00054 int max_icons;
00055
00056 bool inContent, doScroll;
00057 int contentTotalLines;
00058 int contentSize;
00059 int contentPos;
00060 int contentMid;
00061 int itemCurrent;
00062 int min_level;
00063 QString dateFormat, timeFormat, timeDateFormat;
00064
00065 QMap<int, QString> contentLines;
00066 QMap<int, QString> contentDetail;
00067 QMap<int, QString> contentFont;
00068 QMap<int, QString> contentData;
00069 recprof2bps_t recordingProfilesBPS;
00070
00071 vector<ProgramInfo *> expList;
00072
00073 MythMainWindow *my_parent;
00074
00075 QPixmap m_background;
00076
00077 bool isBackend;
00078 bool errored;
00079 };
00080
00081 #endif