MythTV  master
statusbox.h
Go to the documentation of this file.
1 #ifndef STATUSBOX_H_
2 #define STATUSBOX_H_
3 
4 // C++
5 #include <utility>
6 #include <vector>
7 
8 // Qt
9 #include <QTimer>
10 
11 // MythTV
14 
15 class ProgramInfo;
16 class MythUIText;
17 class MythUIButtonList;
18 
19 class MythUIStateType;
20 
21 using recprof2bps_t = QMap<QString, unsigned int>;
22 
23 class StatusBoxItem : public QTimer, public MythUIButtonListItem
24 {
25  Q_OBJECT
26 
27  public:
28  StatusBoxItem(MythUIButtonList *lbtype, const QString& text, QVariant data)
29  : MythUIButtonListItem (lbtype, text, std::move(data)) { }
30 
31  void Start(std::chrono::seconds Interval = 1s);
32 
33  signals:
34  void UpdateRequired(StatusBoxItem* Item);
35 };
36 
37 class StatusBox : public MythScreenType
38 {
39  Q_OBJECT
40  public:
41  explicit StatusBox(MythScreenStack *parent);
42  ~StatusBox(void) override;
43 
44  bool Create(void) override; // MythScreenType
45  bool keyPressEvent(QKeyEvent *event) override; // MythScreenType
46  void customEvent(QEvent *event) override; // MythUIType
47 
48  signals:
49  void updateLog();
50 
51  protected:
52  void Init(void) override; // MythScreenType
53 
54  private slots:
57  void clicked(MythUIButtonListItem *item);
58 
59  void doListingsStatus();
60  void doScheduleStatus();
61  void doTunerStatus();
62  void doLogEntries();
63  void doJobQueueStatus();
64  void doMachineStatus();
65  void doAutoExpireList(bool updateExpList);
67  void doDisplayStatus();
68  void doRenderStatus();
69  void doDecoderStatus();
70 
71  private:
72  StatusBoxItem* AddLogLine(const QString & line,
73  const QString & help = "",
74  const QString & detail = "",
75  const QString & helpdetail = "",
76  const QString & state = "",
77  const QString & data = "");
78 
79  void getActualRecordedBPS(const QString& hostnames);
80 
81  MythUIText *m_helpText {nullptr};
86 
88 
89  std::vector<ProgramInfo *> m_expList;
90 
92 
93  int m_minLevel {5};
94 
95  bool m_isBackendActive {false};
96 };
97 
98 #endif
StatusBox::Init
void Init(void) override
Used after calling Load() to assign data to widgets and other UI initilisation which is prohibited in...
Definition: statusbox.cpp:109
StatusBox::doAutoExpireList
void doAutoExpireList()
Show list of recordings which may AutoExpire.
Definition: statusbox.h:66
StatusBox::getActualRecordedBPS
void getActualRecordedBPS(const QString &hostnames)
Fills in m_recordingProfilesBps w/ average bitrate from recorded table.
Definition: statusbox.cpp:1110
StatusBox::AddLogLine
StatusBoxItem * AddLogLine(const QString &line, const QString &help="", const QString &detail="", const QString &helpdetail="", const QString &state="", const QString &data="")
Definition: statusbox.cpp:151
MythScreenStack
Definition: mythscreenstack.h:16
MythScreenType
Screen in which all other widgets are contained and rendered.
Definition: mythscreentype.h:45
StatusBox::doDisplayStatus
void doDisplayStatus()
Definition: statusbox.cpp:1453
StatusBox::Create
bool Create(void) override
Definition: statusbox.cpp:79
StatusBox::~StatusBox
~StatusBox(void) override
Definition: statusbox.cpp:72
mythuibuttonlist.h
StatusBox::keyPressEvent
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: statusbox.cpp:189
StatusBox::setHelpText
void setHelpText(MythUIButtonListItem *item)
Definition: statusbox.cpp:217
StatusBox::m_categoryList
MythUIButtonList * m_categoryList
Definition: statusbox.h:83
MythUIButtonListItem
Definition: mythuibuttonlist.h:41
StatusBox::m_justHelpText
MythUIText * m_justHelpText
Definition: statusbox.h:82
StatusBox::clicked
void clicked(MythUIButtonListItem *item)
Definition: statusbox.cpp:250
StatusBox::m_recordingProfilesBps
recprof2bps_t m_recordingProfilesBps
Definition: statusbox.h:87
StatusBox::doListingsStatus
void doListingsStatus()
Definition: statusbox.cpp:448
StatusBox::updateLogList
void updateLogList(MythUIButtonListItem *item)
Definition: statusbox.cpp:229
StatusBoxItem::StatusBoxItem
StatusBoxItem(MythUIButtonList *lbtype, const QString &text, QVariant data)
Definition: statusbox.h:28
StatusBox::doJobQueueStatus
void doJobQueueStatus()
Definition: statusbox.cpp:942
StatusBoxItem::Start
void Start(std::chrono::seconds Interval=1s)
Definition: statusbox.cpp:42
StatusBox::StatusBox
StatusBox(MythScreenStack *parent)
Definition: statusbox.cpp:57
StatusBox::doTunerStatus
void doTunerStatus()
Definition: statusbox.cpp:748
StatusBox::doDecoderStatus
void doDecoderStatus()
Definition: statusbox.cpp:1430
StatusBox::m_logList
MythUIButtonList * m_logList
Definition: statusbox.h:84
StatusBox::updateLog
void updateLog()
StatusBox
Reports on various status items.
Definition: statusbox.h:37
ProgramInfo
Holds information on recordings and videos.
Definition: programinfo.h:67
MythUIText
All purpose text widget, displays a text string.
Definition: mythuitext.h:28
StatusBox::m_popupStack
MythScreenStack * m_popupStack
Definition: statusbox.h:91
StatusBox::doRenderStatus
void doRenderStatus()
Definition: statusbox.cpp:1469
StatusBox::m_helpText
MythUIText * m_helpText
Definition: statusbox.h:81
std
Definition: mythchrono.h:23
recprof2bps_t
QMap< QString, unsigned int > recprof2bps_t
Definition: statusbox.h:21
StatusBoxItem
Definition: statusbox.h:23
StatusBox::doLogEntries
void doLogEntries()
Definition: statusbox.cpp:887
build_compdb.help
help
Definition: build_compdb.py:10
StatusBox::m_iconState
MythUIStateType * m_iconState
Definition: statusbox.h:85
StatusBox::doScheduleStatus
void doScheduleStatus()
Definition: statusbox.cpp:543
StatusBox::m_expList
std::vector< ProgramInfo * > m_expList
Definition: statusbox.h:89
StatusBox::customEvent
void customEvent(QEvent *event) override
Definition: statusbox.cpp:352
MythUIButtonList
List widget, displays list items in a variety of themeable arrangements and can trigger signals when ...
Definition: mythuibuttonlist.h:191
StatusBoxItem::UpdateRequired
void UpdateRequired(StatusBoxItem *Item)
StatusBox::m_minLevel
int m_minLevel
Definition: statusbox.h:93
StatusBox::m_isBackendActive
bool m_isBackendActive
Definition: statusbox.h:95
MythUIStateType
This widget is used for grouping other widgets for display when a particular named state is called....
Definition: mythuistatetype.h:22
mythscreentype.h
StatusBox::doMachineStatus
void doMachineStatus()
Show machine status.
Definition: statusbox.cpp:1166