diff options
author | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-06-28 15:36:23 +0200 |
---|---|---|
committer | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-06-28 15:37:26 +0200 |
commit | 8fc09b33240fa0b55bd0db22103db65861bc2d6b (patch) | |
tree | 80eb673212aaf6b6e056c3e895885dab78815e31 /qtmips_gui/newdialog.cpp | |
parent | f51b0a34cdcfe70f57add0e36dd3b34e3dbc83db (diff) | |
download | qtmips-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.cpp | 18 |
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) { |