aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/newdialog.cpp
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-06-28 15:36:23 +0200
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-06-28 15:37:26 +0200
commit8fc09b33240fa0b55bd0db22103db65861bc2d6b (patch)
tree80eb673212aaf6b6e056c3e895885dab78815e31 /qtmips_gui/newdialog.cpp
parentf51b0a34cdcfe70f57add0e36dd3b34e3dbc83db (diff)
downloadqtmips-8fc09b33240fa0b55bd0db22103db65861bc2d6b.tar.gz
qtmips-8fc09b33240fa0b55bd0db22103db65861bc2d6b.tar.bz2
qtmips-8fc09b33240fa0b55bd0db22103db65861bc2d6b.zip
Include QHtml5File source file to allow ELF file load under emscripten.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_gui/newdialog.cpp')
-rw-r--r--qtmips_gui/newdialog.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/qtmips_gui/newdialog.cpp b/qtmips_gui/newdialog.cpp
index 0e1c5dc..ef9dac3 100644
--- a/qtmips_gui/newdialog.cpp
+++ b/qtmips_gui/newdialog.cpp
@@ -37,6 +37,11 @@
#include "mainwindow.h"
#include "qtmipsexception.h"
+#ifdef __EMSCRIPTEN__
+#include <QFileInfo>
+#include "qhtml5file.h"
+#endif
+
NewDialog::NewDialog(QWidget *parent, QSettings *settings) : QDialog(parent) {
setWindowTitle("New machine");
@@ -146,6 +151,7 @@ void NewDialog::create_empty() {
void NewDialog::browse_elf() {
+#ifndef __EMSCRIPTEN__
QFileDialog elf_dialog(this);
elf_dialog.setFileMode(QFileDialog::ExistingFile);
if (elf_dialog.exec()) {
@@ -154,6 +160,18 @@ void NewDialog::browse_elf() {
config->set_elf(path);
}
// Elf shouldn't have any other effect so we skip config_gui here
+#else
+ QHtml5File::load("*", [&](const QByteArray &content, const QString &fileName) {
+ QFileInfo fi(fileName);
+ QString elf_name = fi.fileName();
+ QFile file(elf_name);
+ file.open(QIODevice::WriteOnly | QIODevice::Truncate);
+ file.write(content);
+ file.close();
+ ui->elf_file->setText(elf_name);
+ config->set_elf(elf_name);
+ });
+#endif
}
void NewDialog::elf_change(QString val) {