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.

Pick-to: 6.7
Change-Id: I698c016253656aef29f04129da5f01a9dc35191e
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
This commit is contained in:
Morten Sørvig 2024-01-03 15:41:11 +01:00 committed by Morten Johan Sørvig
parent 454068232e
commit a2294287ad

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 ")