1 |
|
2 |
#ifndef MAINVIEW_H |
3 |
#define MAINVIEW_H |
4 |
|
5 |
#include <QVector> |
6 |
#include <QWidget> |
7 |
#include "screenitem.h" |
8 |
#include "screenxmlhandler.h" |
9 |
|
10 |
class QStackedLayout; |
11 |
class VideoView; |
12 |
class WebView; |
13 |
class ClientSideRender; |
14 |
class PictureView; |
15 |
class QSvgWidget; |
16 |
class ScreenManager; |
17 |
class ClockOverlay; |
18 |
class QSettings; |
19 |
|
20 |
enum Mode { |
21 |
ModeNone, |
22 |
ModeSimpleWeb, |
23 |
ModeXml, |
24 |
ModeLocal |
25 |
}; |
26 |
|
27 |
class MainView : public QWidget |
28 |
{ |
29 |
|
30 |
Q_OBJECT |
31 |
public: |
32 |
MainView(QWidget* parent); |
33 |
|
34 |
public slots: |
35 |
void onTimer(); |
36 |
|
37 |
protected: |
38 |
virtual void keyPressEvent ( QKeyEvent * event ); |
39 |
virtual void closeEvent ( QCloseEvent * event ); |
40 |
private: |
41 |
void loadSettings(); |
42 |
bool readXml(); |
43 |
void readLocalFiles(); |
44 |
void switchScreens(); |
45 |
void ensureVisible(QWidget* widget); |
46 |
void errorInfoScreen(QString msg); |
47 |
|
48 |
Mode currentMode; |
49 |
bool enableScreenManager; |
50 |
|
51 |
QStackedLayout* layout; |
52 |
|
53 |
WebView* web; |
54 |
ClientSideRender* render; |
55 |
PictureView* picture; |
56 |
VideoView* video; |
57 |
QSvgWidget* svg; |
58 |
QWidget* current; |
59 |
ScreenManager* screenManager; |
60 |
QTime screenManagerOn; |
61 |
QTime screenManagerOff; |
62 |
int xmlInterval; |
63 |
|
64 |
QTimer* timer ; |
65 |
QTime lastXml; |
66 |
QTime lastScreenSwitch; |
67 |
ScreenItem currentItem; |
68 |
int currentItemIdx; |
69 |
QVector<ScreenItem> screenItems; |
70 |
|
71 |
ScreenXmlHandler xmlHandler; |
72 |
|
73 |
QSettings* settings; |
74 |
QString url; |
75 |
QString screenid; |
76 |
QString xmlUrl; |
77 |
QString path; |
78 |
|
79 |
ClockOverlay* clockOverlay; |
80 |
}; |
81 |
|
82 |
#endif //MAINVIEW_H |