From 38f5c4f2dcd8ca21041e3bab2a26084aa0984d1c Mon Sep 17 00:00:00 2001 From: kushagra Date: Sun, 8 Mar 2015 22:30:57 +0530 Subject: [PATCH 1/2] solves issue 1309 --- src/widget/form/groupchatform.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/widget/form/groupchatform.cpp b/src/widget/form/groupchatform.cpp index d00f671ee..3efa71f2a 100644 --- a/src/widget/form/groupchatform.cpp +++ b/src/widget/form/groupchatform.cpp @@ -98,6 +98,7 @@ void GroupChatForm::onSendTriggered() if (msg.isEmpty()) return; + msgEdit->setLastMessage(msg); msgEdit->clear(); if (msg.startsWith("/me ")) From b659612bd46033380ae12e79ecef9bb5167bbbdb Mon Sep 17 00:00:00 2001 From: TheLastProject Date: Sun, 8 Mar 2015 21:01:34 +0100 Subject: [PATCH 2/2] Use QImage scaling and base64 encoding for sharper previews --- src/chatlog/content/filetransferwidget.cpp | 24 ++++++++-------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/chatlog/content/filetransferwidget.cpp b/src/chatlog/content/filetransferwidget.cpp index ed2e7b9f9..476893cae 100644 --- a/src/chatlog/content/filetransferwidget.cpp +++ b/src/chatlog/content/filetransferwidget.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -451,22 +452,13 @@ void FileTransferWidget::showPreview(const QString &filename) 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(""); - } + // Show mouseover preview, but make sure it's not larger than 50% of the screen width/height + QRect desktopSize = QApplication::desktop()->screenGeometry(); + QImage image = QImage(filename).scaled(0.5*desktopSize.width(), 0.5*desktopSize.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); + QByteArray imageData; + QBuffer buffer(&imageData); + image.save(&buffer, "PNG"); + ui->previewLabel->setToolTip(""); } }