diff options
-rw-r--r-- | gui/basewindow.cc | 2 | ||||
-rw-r--r-- | gui/fpgaviewwidget.cc | 5 | ||||
-rw-r--r-- | gui/yosystab.cc | 11 |
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");
}
|