diff options
| author | dknn <yoann.blein@free.fr> | 2012-08-06 14:40:13 (GMT) | 
|---|---|---|
| committer | dknn <yoann.blein@free.fr> | 2012-09-22 09:32:38 (GMT) | 
| commit | d62f8088b8cc42417f97a3b5c3f99bf9288593d4 (patch) | |
| tree | 46861355d40bfe5e18088496abc9654e0dbaa00c /Swift/QtUI/ScreenSharing/RemoteScreenViewerWidget.cpp | |
| parent | 343f88e3048887e83cc91bb710510b3aa618f779 (diff) | |
| download | swift-contrib-d62f8088b8cc42417f97a3b5c3f99bf9288593d4.zip swift-contrib-d62f8088b8cc42417f97a3b5c3f99bf9288593d4.tar.bz2  | |
Add support for multiple sharing and control in chat view
Diffstat (limited to 'Swift/QtUI/ScreenSharing/RemoteScreenViewerWidget.cpp')
| -rw-r--r-- | Swift/QtUI/ScreenSharing/RemoteScreenViewerWidget.cpp | 20 | 
1 files changed, 13 insertions, 7 deletions
diff --git a/Swift/QtUI/ScreenSharing/RemoteScreenViewerWidget.cpp b/Swift/QtUI/ScreenSharing/RemoteScreenViewerWidget.cpp index f601f1b..7bb3f26 100644 --- a/Swift/QtUI/ScreenSharing/RemoteScreenViewerWidget.cpp +++ b/Swift/QtUI/ScreenSharing/RemoteScreenViewerWidget.cpp @@ -18,7 +18,7 @@  namespace Swift {  RemoteScreenViewerWidget::RemoteScreenViewerWidget(boost::shared_ptr<IncomingScreenSharing> incScreenSharing, QWidget *parent) : -	QWidget(parent), iss(incScreenSharing) +	QFrame(parent), iss(incScreenSharing)  {  	iss->onNewImageReceived.connect(boost::bind(&RemoteScreenViewerWidget::handleNewImageReceived, this, _1));  } @@ -28,10 +28,11 @@ RemoteScreenViewerWidget::~RemoteScreenViewerWidget()  	iss->onNewImageReceived.disconnect(boost::bind(&RemoteScreenViewerWidget::handleNewImageReceived, this, _1));  } -void RemoteScreenViewerWidget::paintEvent(QPaintEvent *) +void RemoteScreenViewerWidget::paintEvent(QPaintEvent* event)  { -	QPainter painter(this); +	QFrame::paintEvent(event);  	if (!pixmap.isNull()) { +		QPainter painter(this);  		painter.translate(geometry().center());  		painter.drawPixmap(-pixmap.rect().center(), pixmap);  	} @@ -39,15 +40,20 @@ void RemoteScreenViewerWidget::paintEvent(QPaintEvent *)  void RemoteScreenViewerWidget::resizeEvent(QResizeEvent *event)  { -	if (!pixmap.isNull()) -		pixmap = pixmap.scaled(event->size(), Qt::KeepAspectRatio); -	QWidget::resizeEvent(event); +	if (!pixmap.isNull()) { +		int frameWidth2 = frameWidth() * 2; +		QSize borders(frameWidth2, frameWidth2); +		pixmap = pixmap.scaled(event->size() - borders, Qt::KeepAspectRatio); +	} +	QFrame::resizeEvent(event);  }  void RemoteScreenViewerWidget::handleNewImageReceived(const Image& image)  {  	QImage qImg(image.data.data(), image.width, image.height, QImage::Format_RGB888); -	pixmap = QPixmap::fromImage(qImg).scaled(size(), Qt::KeepAspectRatio); +	int frameWidth2 = frameWidth() * 2; +	QSize borders(frameWidth2, frameWidth2); +	pixmap = QPixmap::fromImage(qImg).scaled(size() - borders, Qt::KeepAspectRatio);  	update();  }  | 
 Swift