--- infoscreen/pictureview.cpp 2010/01/05 16:54:21 525 +++ infoscreen/pictureview.cpp 2010/01/05 17:19:02 526 @@ -9,6 +9,7 @@ PictureView::PictureView(QWidget* parent) : QWidget(parent) { + http.connect(&http, SIGNAL(requestFinished(int,bool)),this, SLOT(onLoad(int,bool)) ); } void PictureView::paintEvent ( QPaintEvent* event) @@ -28,11 +29,9 @@ } else { requestedUrl = source; - QUrl imageUrl(requestedUrl); - http = new QHttp(imageUrl.host() ); - http->connect(http, SIGNAL(requestFinished(int,bool)),this, SLOT(onLoad(int,bool)) ); - - http->get(imageUrl.path(), 0); + QUrl url(requestedUrl); + http.setHost(url.host() ); + http.get(url.path(), 0); } } @@ -40,18 +39,20 @@ { Q_UNUSED(id); Q_UNUSED(ok); + qint64 byteCount = http.bytesAvailable(); - QByteArray data = http->readAll(); + if (byteCount > 0) { - QPixmap pixmap; - pixmap.loadFromData( data ); - delete http; + QByteArray data = http.readAll(); - QPixmap scaledImage = pixmap.scaledToHeight(size().height(), Qt::SmoothTransformation ); + QPixmap pixmap; + pixmap.loadFromData( data ); - image = scaledImage; - this->repaint(); + QPixmap scaledImage = pixmap.scaledToHeight(size().height(), Qt::SmoothTransformation ); - map.insert(requestedUrl, scaledImage); + image = scaledImage; + this->repaint(); + map.insert(requestedUrl, scaledImage); + } }