--- infoscreen/MyWebView.cpp 2009/12/11 22:15:18 507 +++ infoscreen/MyWebView.cpp 2010/01/07 19:42:12 534 @@ -1,82 +1,76 @@ #include -#include #include -#include #include #include "MyWebView.h" -MyWebView::MyWebView(QWidget* parent) : QWebView(parent) { -// this->setWindowState( Qt::WindowFullScreen ); - qApp->setOverrideCursor( QCursor( Qt::BlankCursor) ); - - connect(this, SIGNAL( loadStarted() ), this, SLOT( test() ) ); - - QTimer* timer = new QTimer(this); - connect(timer, SIGNAL(timeout()), this, SLOT(onTimer())); - timer->start(1000); -} - -void MyWebView::show() { - QWebView::show(); - try { - this->load( QUrl( generateUrl() ) ); - } catch (std::exception& e) { - showError(e.what() ); - } +MyWebView::MyWebView(QWidget* parent) : QWebView(parent) { + connect(this, SIGNAL( loadFinished(bool) ), this, SLOT( onChange(bool) ) ); + + QWebSettings* settings = QWebSettings::globalSettings(); + settings->setAttribute( QWebSettings::JavascriptEnabled, true); + settings->setAttribute( QWebSettings::PluginsEnabled, true); + + + + QTimer* timer = new QTimer(this); + connect(timer, SIGNAL(timeout()), this, SLOT(onTimer())); + timer->start(1000); + +} + +void MyWebView::start() { + try { + this->load( QUrl( generateUrl() ) ); + } catch (std::exception& e) { + showError(e.what() ); + } } void MyWebView::showError(const char* msg) { - QString str("

"); - str.append(msg).append("

"); - this->setHtml( str ); + QString str("

"); + str.append(msg).append("

"); + this->setHtml( str ); } QString MyWebView::generateUrl() { - QDesktopWidget* desktop = QApplication::desktop(); - QRect rect = desktop->screenGeometry(); - - QString width; - width.setNum( rect.width() ); + QDesktopWidget* desktop = QApplication::desktop(); + QRect rect = desktop->screenGeometry(); + + + QString width, height; + width.setNum( rect.width() ); + height.setNum( rect.height() ); - QString height; - height.setNum( rect.height() ); - - QSettings settings("Caddi", "infoscreen"); - std::cout << settings.fileName().toAscii().data() << std::endl; - QString url = settings.value("url").toString(); - QString screenid = settings.value("screenid").toString(); + QSettings settings("Caddi", "infoscreen"); + qDebug() << "Settings: " << settings.fileName(); - if (url.length() == 0) { - throw std::runtime_error("No url in config file"); - } + QString url = settings.value("url").toString(); + QString screenid = settings.value("screenid").toString(); - url.append("?screen_id=").append(screenid); - url.append("&width=").append(width); - url.append("&height=").append(height); + if (url.length() == 0) { + throw std::runtime_error("No url in config file"); + } + url.append("?screen_id=").append(screenid); + url.append("&width=").append(width); + url.append("&height=").append(height); - std::cout << url.toAscii().data() << std::endl; - return url; + qDebug() << "URL:" << url; + + + return url; } //public slots: -void MyWebView::test() { - std::cout << "test" << std::endl; +void MyWebView::onChange(bool success) { + //qDebug() << "html" << this->page()->mainFrame()->toHtml(); } void MyWebView::onTimer() { - static int count = 0; - count++; - - if (count == 10) { - system("xset dpms force off"); - } - - std::cout << "timer" << std::endl; }