wasm: update manual test to handle dropped files

Verify that the file is saved correctly to the local
file system by loading it and printing the sha1 of
its contents.

Also add indents in order to improve legibility. The
output lines should now be correctly nested.

Change-Id: I698c016253656aef29f04129da5f01a9dc35191e
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
(cherry picked from commit a2294287ad3edd729f165280a71b8dd7a5345b1d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Morten Sørvig 2024-01-03 15:41:11 +01:00 committed by Qt Cherry-pick Bot
parent 6a35538d3d
commit 2a57d5b592

View File

@ -14,6 +14,7 @@
#include <QKeyEvent> #include <QKeyEvent>
#include <QMimeDatabase> #include <QMimeDatabase>
#include <QFileInfo> #include <QFileInfo>
#include <QCryptographicHash>
#ifdef Q_OS_WASM #ifdef Q_OS_WASM
#include <emscripten.h> #include <emscripten.h>
@ -264,20 +265,19 @@ void MainWindow::dropEvent(QDropEvent* e)
QString urlStr = url.toDisplayString(); QString urlStr = url.toDisplayString();
int size = urlStr.length(); int size = urlStr.length();
sizeStr.setNum(size); sizeStr.setNum(size);
ui->textEdit_2->insertPlainText(" Drop has url data length: " + sizeStr + "\n");
ui->textEdit_2->insertPlainText(urlStr + "\n");
QString fname = url.toLocalFile(); QString fileName = url.toLocalFile();
QFileInfo info(fname); QString sha1;
if (info.exists()) { // this is a file QFile file(fileName);
QMimeDatabase db; if (file.exists()) {
QMimeType mt = db.mimeTypeForFile(info); file.open(QFile::ReadOnly);
if (mt.name().contains("image")) { sha1 = QCryptographicHash::hash(file.readAll(), QCryptographicHash::Sha1).toHex();
QImage image = QImage(fname);
setImage(image);
}
} }
ui->textEdit_2->insertPlainText(" Drop has url data length: " + sizeStr + "\n");
ui->textEdit_2->insertPlainText(" " + urlStr + " sha1 " + sha1.left(8) + "\n");
} }
ui->textEdit_2->insertPlainText("\n");
if (e->mimeData()->hasImage()) { if (e->mimeData()->hasImage()) {
qsizetype imageSize = qvariant_cast<QImage>(e->mimeData()->imageData()).sizeInBytes(); qsizetype imageSize = qvariant_cast<QImage>(e->mimeData()->imageData()).sizeInBytes();
@ -294,14 +294,15 @@ void MainWindow::dropEvent(QDropEvent* e)
int size = e->mimeData()->html().length(); int size = e->mimeData()->html().length();
sizeStr.setNum(size); sizeStr.setNum(size);
ui->textEdit_2->insertPlainText(" Drop has html data length: " + sizeStr + "\n"); ui->textEdit_2->insertPlainText(" Drop has html data length: " + sizeStr + "\n");
ui->textEdit_2->insertPlainText(e->mimeData()->html()+"\n"); for (const auto &line : e->mimeData()->html().split('\n', Qt::SkipEmptyParts))
ui->textEdit->insertHtml(e->mimeData()->html()+"<br>"); ui->textEdit_2->insertPlainText(" " + line + "\n");
} }
if (e->mimeData()->hasText()) { if (e->mimeData()->hasText()) {
int size = e->mimeData()->text().length(); int size = e->mimeData()->text().length();
sizeStr.setNum(size); sizeStr.setNum(size);
ui->textEdit_2->insertPlainText(" Drop has text data length: " + sizeStr + "\n"); ui->textEdit_2->insertPlainText(" Drop has text data length: " + sizeStr + "\n");
ui->textEdit_2->insertPlainText(e->mimeData()->text()); for (const auto &line : e->mimeData()->text().split('\n', Qt::SkipEmptyParts))
ui->textEdit_2->insertPlainText(" " + line + "\n");
} }
const QString message = tr(" Drop accepted, %1 ") const QString message = tr(" Drop accepted, %1 ")