--- infoscreen/MainView.h 2010/01/05 20:14:22 527 +++ infoscreen/MainView.h 2010/06/22 20:43:13 875 @@ -2,32 +2,75 @@ #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 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; - VideoView* video; - QWidget* current; - ScreenManager screenManager; - -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; + + 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