/[projects]/infoscreen/MyWebView.cpp
ViewVC logotype

Contents of /infoscreen/MyWebView.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 512 - (show annotations) (download)
Tue Dec 15 13:53:02 2009 UTC (14 years, 5 months ago) by torben
File size: 1734 byte(s)
Now with screenmanager

1 #include <QApplication>
2 #include <QDesktopWidget>
3 #include <stdexcept>
4
5 #include "MyWebView.h"
6
7
8 MyWebView::MyWebView(QWidget* parent) : QWebView(parent) {
9 connect(this, SIGNAL( loadFinished(bool) ), this, SLOT( onChange(bool) ) );
10
11 QWebSettings* settings = QWebSettings::globalSettings();
12 settings->setAttribute( QWebSettings::JavascriptEnabled, true);
13 settings->setAttribute( QWebSettings::PluginsEnabled, true);
14
15
16
17 QTimer* timer = new QTimer(this);
18 connect(timer, SIGNAL(timeout()), this, SLOT(onTimer()));
19 timer->start(1000);
20
21 }
22
23 void MyWebView::start() {
24 try {
25 this->load( QUrl( generateUrl() ) );
26 } catch (std::exception& e) {
27 showError(e.what() );
28 }
29
30 }
31
32 void MyWebView::showError(const char* msg) {
33 QString str("<html><body><center><h1>");
34 str.append(msg).append("</h1></center></body></html>");
35 this->setHtml( str );
36 }
37
38 QString MyWebView::generateUrl() {
39 QDesktopWidget* desktop = QApplication::desktop();
40 QRect rect = desktop->screenGeometry();
41
42
43 QString width, height;
44 width.setNum( rect.width() );
45 height.setNum( rect.height() );
46
47
48 QSettings settings("Caddi", "infoscreen");
49 qDebug() << "Settings: " << settings.fileName();
50
51 QString url = settings.value("url").toString();
52 QString screenid = settings.value("screenid").toString();
53
54 if (url.length() == 0) {
55 throw std::runtime_error("No url in config file");
56 }
57
58 url.append("?screen_id=").append(screenid);
59 url.append("&width=").append(width);
60 url.append("&height=").append(height);
61
62
63 qDebug() << "URL:" << url;
64
65
66 return url;
67 }
68
69 //public slots:
70 void MyWebView::onChange(bool success) {
71 //qDebug() << "html" << this->page()->mainFrame()->toHtml();
72 }
73
74
75 void MyWebView::onTimer() {
76 }

  ViewVC Help
Powered by ViewVC 1.1.20