aboutsummaryrefslogtreecommitdiffstats
path: root/gui
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-07-17 09:40:26 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-07-17 09:40:26 +0200
commita5f93343b622a43509f8a99a71ba37801d104ea7 (patch)
tree2b16ad4c2549b50fea3f169d69e5e6d9f3300aba /gui
parent6269d974749ff93c9df01a35bf1797116f045a66 (diff)
downloadnextpnr-a5f93343b622a43509f8a99a71ba37801d104ea7.tar.gz
nextpnr-a5f93343b622a43509f8a99a71ba37801d104ea7.tar.bz2
nextpnr-a5f93343b622a43509f8a99a71ba37801d104ea7.zip
Added check for yosys availability
Diffstat (limited to 'gui')
-rw-r--r--gui/basewindow.cc2
-rw-r--r--gui/fpgaviewwidget.cc5
-rw-r--r--gui/yosystab.cc11
3 files changed, 13 insertions, 5 deletions
diff --git a/gui/basewindow.cc b/gui/basewindow.cc
index e75298c0..81c89e45 100644
--- a/gui/basewindow.cc
+++ b/gui/basewindow.cc
@@ -195,7 +195,7 @@ void BaseMainWindow::yosys()
yosysTab->setAttribute(Qt::WA_DeleteOnClose);
centralTabWidget->addTab(yosysTab, "Yosys");
centralTabWidget->setCurrentWidget(yosysTab);
- centralTabWidget->setTabToolTip(centralTabWidget->indexOf(yosysTab),folder);
+ centralTabWidget->setTabToolTip(centralTabWidget->indexOf(yosysTab), folder);
}
}
NEXTPNR_NAMESPACE_END
diff --git a/gui/fpgaviewwidget.cc b/gui/fpgaviewwidget.cc
index 3ac69463..c926e5fa 100644
--- a/gui/fpgaviewwidget.cc
+++ b/gui/fpgaviewwidget.cc
@@ -400,10 +400,7 @@ void FPGAViewWidget::paintGL()
}
lineShader_.draw(grid, gridColor_, thick1Px, matrix);
- LineShaderData shaders[4] = {LineShaderData(),
- LineShaderData(),
- LineShaderData(),
- LineShaderData()};
+ LineShaderData shaders[4] = {LineShaderData(), LineShaderData(), LineShaderData(), LineShaderData()};
if (ctx_) {
// Draw Bels.
diff --git a/gui/yosystab.cc b/gui/yosystab.cc
index 1661c74f..f2e99cbc 100644
--- a/gui/yosystab.cc
+++ b/gui/yosystab.cc
@@ -19,6 +19,7 @@
#include "yosystab.h"
#include <QGridLayout>
+#include <QMessageBox>
NEXTPNR_NAMESPACE_BEGIN
@@ -47,6 +48,7 @@ YosysTab::YosysTab(QString folder, QWidget *parent) : QWidget(parent)
lineEdit->setMaximumHeight(30);
lineEdit->setFont(f);
lineEdit->setFocus();
+ lineEdit->setEnabled(false);
lineEdit->setPlaceholderText("yosys>");
connect(lineEdit, SIGNAL(textLineInserted(QString)), this, SLOT(editLineReturnPressed(QString)));
@@ -58,6 +60,15 @@ YosysTab::YosysTab(QString folder, QWidget *parent) : QWidget(parent)
process = new QProcess();
connect(process, SIGNAL(readyReadStandardError()), this, SLOT(onReadyReadStandardError()));
connect(process, SIGNAL(readyReadStandardOutput()), this, SLOT(onReadyReadStandardOutput()));
+ connect(process, &QProcess::started, this, [this] { lineEdit->setEnabled(true); });
+ connect(process, &QProcess::errorOccurred, this, [this](QProcess::ProcessError error) {
+ if (error == QProcess::FailedToStart) {
+ QMessageBox::critical(
+ this, QString::fromUtf8("Yosys cannot be started!"),
+ QString::fromUtf8("<p>Please make sure you have Yosys installed and available in path</p>"));
+ Q_EMIT deleteLater();
+ }
+ });
process->setWorkingDirectory(folder);
process->start("yosys");
}