--- infoscreen/MainView.h 2009/12/12 18:59:28 509 +++ infoscreen/MainView.h 2010/06/22 21:01:37 876 @@ -2,24 +2,77 @@ #ifndef MAINVIEW_H #define MAINVIEW_H +#include #include +#include "screenitem.h" +#include "screenxmlhandler.h" +class QStackedLayout; +class VideoView; +class MyWebView; +class ClientSideRender; +class PictureView; +class QSvgWidget; +class ScreenManager; +class QSettings; + +enum Mode { + ModeNone, + ModeSimpleWeb, + ModeXml, + ModeLocal +}; class MainView : public QWidget { - Q_OBJECT + Q_OBJECT public: - MainView(QWidget* parent); + MainView(QWidget* parent); +public slots: + void onTimer(); +protected: + virtual void keyPressEvent ( QKeyEvent * event ); + virtual void closeEvent ( QCloseEvent * event ); private: - QWidget* red; - QWidget* green; - QWidget* current; - -public slots: - void onTimer(); + void loadSettings(); + bool readXml(); + void readLocalFiles(); + void switchScreens(); + void ensureVisible(QWidget* widget); + void errorInfoScreen(QString msg); + + Mode currentMode; + bool enableScreenManager; + + QStackedLayout* layout; + + MyWebView* web; + ClientSideRender* render; + PictureView* picture; + VideoView* video; + QSvgWidget* svg; + QWidget* current; + ScreenManager* screenManager; + QTime screenManagerOn; + QTime screenManagerOff; + + QTimer* timer ; + QTime lastXml; + QTime lastScreenSwitch; + ScreenItem currentItem; + int currentItemIdx; + QVector screenItems; + + ScreenXmlHandler xmlHandler; + + QSettings* settings; + QString url; + QString screenid; + QString xmlUrl; + QString path; }; #endif //MAINVIEW_H