--- infoscreen/MainView.h 2010/01/05 14:03:06 524 +++ infoscreen/MainView.h 2010/06/24 08:59:43 883 @@ -2,31 +2,81 @@ #ifndef MAINVIEW_H #define MAINVIEW_H +#include #include -#include "screenmanager.h" - +#include "screenitem.h" +#include "screenxmlhandler.h" +class QStackedLayout; +class VideoView; class MyWebView; class ClientSideRender; class PictureView; +class QSvgWidget; +class ScreenManager; +class ClockOverlay; +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: - MyWebView* web; - ClientSideRender* render; - PictureView* picture; - QWidget* current; - ScreenManager screenManager; + 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; + int xmlInterval; + + QTimer* timer ; + QTime lastXml; + QTime lastScreenSwitch; + ScreenItem currentItem; + int currentItemIdx; + QVector screenItems; + + ScreenXmlHandler xmlHandler; + + QSettings* settings; + QString url; + QString screenid; + QString xmlUrl; + QString path; -public slots: - void onTimer(); + ClockOverlay* clockOverlay; }; #endif //MAINVIEW_H