Merge pull request #1241 from RetroPooh/chatimgattprev1

embed preview for images on file attach in chat
This commit is contained in:
csoler 2018-05-02 23:51:46 +02:00 committed by GitHub
commit 1366f6131b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1605,7 +1605,7 @@ void ChatWidget::fileHashingFinished(QList<HashedFile> hashedFiles)
QList<HashedFile>::iterator it;
for (it = hashedFiles.begin(); it != hashedFiles.end(); ++it) {
HashedFile& hashedFile = *it;
//QString ext = QFileInfo(hashedFile.filename).suffix();
QString ext = QFileInfo(hashedFile.filename).suffix().toUpper();
RetroShareLink link;
@ -1617,9 +1617,23 @@ void ChatWidget::fileHashingFinished(QList<HashedFile> hashedFiles)
message += QString("<img src=\"file:///%1\" width=\"100\" height=\"100\">").arg(hashedFile.filepath);
message+="<br>";
} else {
QString image = FilesDefs::getImageFromFilename(hashedFile.filename, false);
if (!image.isEmpty()) {
message += QString("<img src=\"%1\">").arg(image);
bool preview = false;
if(hashedFiles.size()==1 && (ext == "JPG" || ext == "PNG" || ext == "JPEG" || ext == "GIF"))
{
QString encodedImage;
uint32_t maxMessageSize = this->maxMessageSize();
if (RsHtml::makeEmbeddedImage(hashedFile.filepath, encodedImage, 640*480, maxMessageSize - 200 - link.toHtmlSize().length()))
{ QTextDocumentFragment fragment = QTextDocumentFragment::fromHtml(encodedImage);
ui->chatTextEdit->textCursor().insertFragment(fragment);
preview=true;
}
}
if(!preview)
{
QString image = FilesDefs::getImageFromFilename(hashedFile.filename, false);
if (!image.isEmpty()) {
message += QString("<img src=\"%1\">").arg(image);
}
}
}
message += link.toHtmlSize();