--- infoscreen/MainView.cpp 2010/06/22 21:01:37 876 +++ infoscreen/MainView.cpp 2010/06/24 13:01:35 891 @@ -10,11 +10,11 @@ #include #include -#include "MyWebView.h" +#include "webview.h" #include "clientsiderender.h" #include "pictureview.h" #include "videoview.h" - +#include "clockoverlay.h" #include "httpwrapper.h" #include "screenmanager.h" @@ -29,6 +29,7 @@ xmlUrl = url + "?screen_id=" + screenid; qDebug() << "Starting XML mode"; qDebug() << "xmlUrl" << xmlUrl; + qDebug() << "xmlInterval" << xmlInterval/(60*1000); } if (currentMode == ModeSimpleWeb){ @@ -50,7 +51,7 @@ render = new ClientSideRender(this); - web = new MyWebView(this); + web = new WebView(this); picture = new PictureView(this); @@ -67,6 +68,12 @@ layout->setContentsMargins(0,0,0,0); setLayout(layout); + clockOverlay = new ClockOverlay(this); + clockOverlay->move(10,10); + clockOverlay->resize(150,75); + + + if (currentMode == ModeSimpleWeb) { web->setVisible(true); web->start(url,screenid); @@ -110,6 +117,9 @@ screenManagerOff = settings->value("screenmanager_off").toTime(); } + xmlInterval = settings->value("xmlinterval", 30).toInt(); + xmlInterval = (xmlInterval * 60 * 1000); //convert to milliseconds + if (currentMode == ModeSimpleWeb || currentMode == ModeXml) { url = settings->value("url").toString(); @@ -158,6 +168,7 @@ if (currentMode == ModeXml || currentMode == ModeLocal) { switchScreens(); } + clockOverlay->timerTick(); } @@ -211,8 +222,8 @@ bool MainView::readXml() { - const int TIMEOUT = 30*60*1000; // 30 minutter - if ( lastXml.isNull() || lastXml.elapsed() > TIMEOUT) { + if ( lastXml.isNull() || lastXml.elapsed() > xmlInterval) { + qDebug() << "Reading XML"; bool res = xmlHandler.readXml( xmlUrl ); @@ -238,7 +249,6 @@ } if (lastScreenSwitch.isNull() || lastScreenSwitch.elapsed() > (currentItem.runtime*1000)) { - QTime now = QTime::currentTime(); if (lastScreenSwitch.isNull()) currentItemIdx = -1; @@ -286,6 +296,8 @@ } else { errorInfoScreen("Der er ingen information at vise"); + currentItem = ScreenItem(); + currentItem.runtime = 60; //switch screens again in 1 minute } lastScreenSwitch = QTime::currentTime(); @@ -294,11 +306,12 @@ void MainView::errorInfoScreen(QString msg) { - ensureVisible(web); - web->setHtml("\ - \ -

" + msg+ "

\ - "); + ensureVisible(web); + QString html(""); + html.append("

") + .append(msg) + .append("

"); + web->setHtml(html); } void MainView::ensureVisible(QWidget* widget)