--- infoscreen/MyWebView.cpp 2009/12/11 21:47:49 506 +++ infoscreen/MyWebView.cpp 2010/01/09 16:12:33 541 @@ -1,67 +1,54 @@ #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() ) ); +MyWebView::MyWebView(QWidget* parent) : QWebView(parent) { + + QWebSettings* settings = QWebSettings::globalSettings(); + settings->setAttribute( QWebSettings::JavascriptEnabled, true); + settings->setAttribute( QWebSettings::PluginsEnabled, true); } -void MyWebView::show() { - QWebView::show(); - try { - this->load( QUrl( generateUrl() ) ); - } catch (std::exception& e) { - showError(e.what() ); - } +void MyWebView::start(QString url, QString screenid) { + try { + this->load( QUrl( generateUrl(url, screenid) ) ); + } 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() ); - - 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(); - - 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); +QString MyWebView::generateUrl(QString url, QString screenid) { + QDesktopWidget* desktop = QApplication::desktop(); + QRect rect = desktop->screenGeometry(); - std::cout << url.toAscii().data() << std::endl; + QString width, height; + width.setNum( rect.width() ); + height.setNum( rect.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); + + + qDebug() << "URL:" << url; - return url; -} -//public slots: -void MyWebView::test() { - std::cout << "test" << std::endl; + return url; }