From 9dc52c1eb90a5147dcbe4895655fbac754510f68 Mon Sep 17 00:00:00 2001 From: TheLastProject Date: Sat, 28 Feb 2015 17:14:58 +0100 Subject: [PATCH] Add image preview on mouseover --- src/chatlog/content/filetransferwidget.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/chatlog/content/filetransferwidget.cpp b/src/chatlog/content/filetransferwidget.cpp index 550abae0c..3a11d6c09 100644 --- a/src/chatlog/content/filetransferwidget.cpp +++ b/src/chatlog/content/filetransferwidget.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -449,6 +450,23 @@ void FileTransferWidget::showPreview(const QString &filename) QPixmap pmap = QPixmap(filename).scaled(QSize(size, size), Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation); ui->previewLabel->setPixmap(pmap); ui->previewLabel->show(); + + // Show preview, but make sure it's not larger than 50% of the screen width/height + QRect maxSize = QApplication::desktop()->screenGeometry(); + maxSize.setWidth(0.5*maxSize.width()); + maxSize.setHeight(0.5*maxSize.height()); + + QImage image = QImage(filename); + QSize imageSize(image.width(), image.height()); + if (imageSize.width() > maxSize.width() || imageSize.height() > maxSize.height()) + { + imageSize.scale(maxSize.width(), maxSize.height(), Qt::KeepAspectRatio); + ui->previewLabel->setToolTip(""); + } + else + { + ui->previewLabel->setToolTip(""); + } } }