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

Annotation of /infoscreen/pictureview.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 526 - (hide annotations) (download)
Tue Jan 5 17:19:02 2010 UTC (14 years, 4 months ago) by torben
File size: 1267 byte(s)
added bugs in pictureview
1 torben 524 #include "pictureview.h"
2    
3     #include <QGraphicsView>
4     #include <QGraphicsScene>
5     #include <QDebug>
6     #include <QUrl>
7     #include <QHttp>
8    
9     PictureView::PictureView(QWidget* parent)
10     : QWidget(parent)
11     {
12 torben 526 http.connect(&http, SIGNAL(requestFinished(int,bool)),this, SLOT(onLoad(int,bool)) );
13 torben 524 }
14    
15     void PictureView::paintEvent ( QPaintEvent* event)
16     {
17 torben 525 Q_UNUSED(event);
18 torben 524 QPainter painter(this);
19     painter.drawPixmap(0,0,image);
20     painter.end();
21     }
22    
23     void PictureView::loadFromUrl(QString source)
24     {
25     QMap<QString, QPixmap>::iterator it = map.find(source);
26     if (it != map.end() ) {
27     image = it.value();
28     this->repaint();
29     } else {
30     requestedUrl = source;
31    
32 torben 526 QUrl url(requestedUrl);
33     http.setHost(url.host() );
34     http.get(url.path(), 0);
35 torben 524 }
36     }
37    
38     void PictureView::onLoad(int id, bool ok)
39     {
40 torben 525 Q_UNUSED(id);
41     Q_UNUSED(ok);
42 torben 526 qint64 byteCount = http.bytesAvailable();
43 torben 524
44 torben 526 if (byteCount > 0) {
45 torben 524
46 torben 526 QByteArray data = http.readAll();
47 torben 524
48 torben 526 QPixmap pixmap;
49     pixmap.loadFromData( data );
50 torben 524
51 torben 526 QPixmap scaledImage = pixmap.scaledToHeight(size().height(), Qt::SmoothTransformation );
52 torben 524
53 torben 526 image = scaledImage;
54     this->repaint();
55 torben 524
56 torben 526 map.insert(requestedUrl, scaledImage);
57     }
58 torben 524 }

  ViewVC Help
Powered by ViewVC 1.1.20