diff options
author | gatecat <gatecat@ds0.me> | 2021-06-30 09:59:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-30 09:59:38 +0100 |
commit | 91b998bb11e4bce04ecd6e2a81119714fb4640ae (patch) | |
tree | 7c530e15b870d48ba465710ded34604320a9f956 /gui/basewindow.cc | |
parent | 6c23fe202c5aceac0079ff3211298e7d2ec88a7e (diff) | |
parent | 5c6b8a5f0473c6ec04dd045029eb0d87353558ab (diff) | |
download | nextpnr-91b998bb11e4bce04ecd6e2a81119714fb4640ae.tar.gz nextpnr-91b998bb11e4bce04ecd6e2a81119714fb4640ae.tar.bz2 nextpnr-91b998bb11e4bce04ecd6e2a81119714fb4640ae.zip |
Merge pull request #738 from YosysHQ/json_load_reinit
Preserve ArchArgs and reinit Context when applicable in GUI, fixes #737
Diffstat (limited to 'gui/basewindow.cc')
-rw-r--r-- | gui/basewindow.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gui/basewindow.cc b/gui/basewindow.cc index 80785199..e93428cf 100644 --- a/gui/basewindow.cc +++ b/gui/basewindow.cc @@ -365,6 +365,11 @@ void BaseMainWindow::open_json() QString fileName = QFileDialog::getOpenFileName(this, QString("Open JSON"), QString(), QString("*.json"));
if (!fileName.isEmpty()) {
disableActions();
+ if (ctx->settings.find(ctx->id("synth")) == ctx->settings.end()) {
+ ArchArgs chipArgs = ctx->getArchArgs();
+ ctx = std::unique_ptr<Context>(new Context(chipArgs));
+ Q_EMIT contextChanged(ctx.get());
+ }
handler->load_json(ctx.get(), fileName.toStdString());
Q_EMIT updateTreeView();
log("Loading design successful.\n");
@@ -523,7 +528,7 @@ void BaseMainWindow::place() { Q_EMIT task->place(timing_driven); } void BaseMainWindow::disableActions()
{
- actionLoadJSON->setEnabled(false);
+ actionLoadJSON->setEnabled(true);
actionPack->setEnabled(false);
actionAssignBudget->setEnabled(false);
actionPlace->setEnabled(false);
|