aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-07-25 13:07:47 +0100
committerGitHub <noreply@github.com>2021-07-25 13:07:47 +0100
commitef3be26a697466f330c442be6bf3d9613395081b (patch)
tree0436205b2a24d57089df214f146c289d9eb0eebb
parent5212e38512586a6aea0a3b075d30cd172026cd3e (diff)
parentbbb1ea26b629588424d0f5797235b5e7d2320509 (diff)
downloadnextpnr-ef3be26a697466f330c442be6bf3d9613395081b.tar.gz
nextpnr-ef3be26a697466f330c442be6bf3d9613395081b.tar.bz2
nextpnr-ef3be26a697466f330c442be6bf3d9613395081b.zip
Merge pull request #777 from YosysHQ/gatecat/gui-fixes
gui: Add about box and fix some small typos
-rw-r--r--common/nextpnr_assertions.h1
-rw-r--r--gui/CMakeLists.txt1
-rw-r--r--gui/basewindow.cc13
-rw-r--r--gui/basewindow.h2
-rw-r--r--gui/designwidget.cc8
5 files changed, 20 insertions, 5 deletions
diff --git a/common/nextpnr_assertions.h b/common/nextpnr_assertions.h
index 1dd2a58f..1989aa3a 100644
--- a/common/nextpnr_assertions.h
+++ b/common/nextpnr_assertions.h
@@ -56,6 +56,7 @@ inline void assert_fail_impl_str(std::string message, const char *expr_str, cons
#define NPNR_ASSERT_FALSE(msg) (assert_fail_impl(msg, "false", __FILE__, __LINE__))
#define NPNR_ASSERT_FALSE_STR(msg) (assert_fail_impl_str(msg, "false", __FILE__, __LINE__))
+#define NPNR_STRINGIFY_MACRO(x) NPNR_STRINGIFY(x)
#define NPNR_STRINGIFY(x) #x
NEXTPNR_NAMESPACE_END
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
index 1deffcfb..110251b9 100644
--- a/gui/CMakeLists.txt
+++ b/gui/CMakeLists.txt
@@ -34,6 +34,7 @@ add_library(gui_${family} STATIC ${GUI_SOURCE_FILES} ${PYTHON_CONSOLE_SRC} ${GUI
include(${family}/family.cmake)
target_include_directories(gui_${family} PRIVATE ../${family} ${family} ../3rdparty/QtPropertyBrowser/src ../3rdparty/imgui ../3rdparty/qtimgui/)
+target_include_directories(gui_${family} PRIVATE ${CMAKE_BINARY_DIR}/generated)
if (BUILD_PYTHON)
target_include_directories(gui_${family} PRIVATE ../3rdparty/python-console ../3rdparty/python-console/modified)
endif()
diff --git a/gui/basewindow.cc b/gui/basewindow.cc
index e93428cf..2ebbe2b9 100644
--- a/gui/basewindow.cc
+++ b/gui/basewindow.cc
@@ -35,6 +35,7 @@
#include "log.h"
#include "mainwindow.h"
#include "pythontab.h"
+#include "version.h"
static void initBasenameResource() { Q_INIT_RESOURCE(base); }
@@ -129,6 +130,15 @@ void BaseMainWindow::closeTab(int index) { delete centralTabWidget->widget(index
void BaseMainWindow::writeInfo(std::string text) { console->info(text); }
+void BaseMainWindow::about()
+{
+ QString msg;
+ QTextStream out(&msg);
+ out << "nextpnr-" << NPNR_STRINGIFY_MACRO(ARCHNAME) << "\n";
+ out << "Version " << GIT_DESCRIBE_STR;
+ QMessageBox::information(this, "About nextpnr", msg);
+}
+
void BaseMainWindow::createMenusAndBars()
{
// File menu / project toolbar actions
@@ -140,6 +150,7 @@ void BaseMainWindow::createMenusAndBars()
// Help menu actions
QAction *actionAbout = new QAction("About", this);
+ connect(actionAbout, &QAction::triggered, this, &BaseMainWindow::about);
// Gile menu options
actionNew = new QAction("New", this);
@@ -169,7 +180,7 @@ void BaseMainWindow::createMenusAndBars()
actionAssignBudget = new QAction("Assign Budget", this);
actionAssignBudget->setIcon(QIcon(":/icons/resources/time_add.png"));
- actionAssignBudget->setStatusTip("Assign time budget for current design");
+ actionAssignBudget->setStatusTip("Assign timing budget for current design");
actionAssignBudget->setEnabled(false);
connect(actionAssignBudget, &QAction::triggered, this, &BaseMainWindow::budget);
diff --git a/gui/basewindow.h b/gui/basewindow.h
index 0b63dd73..4e3cdcb8 100644
--- a/gui/basewindow.h
+++ b/gui/basewindow.h
@@ -87,6 +87,8 @@ class BaseMainWindow : public QMainWindow
void saveMovie();
void saveSVG();
+ void about();
+
Q_SIGNALS:
void contextChanged(Context *ctx);
void updateTreeView();
diff --git a/gui/designwidget.cc b/gui/designwidget.cc
index 369596c7..749c25a6 100644
--- a/gui/designwidget.cc
+++ b/gui/designwidget.cc
@@ -655,8 +655,8 @@ void DesignWidget::onSelectionChanged(int num, const QItemSelection &, const QIt
DelayQuad delay = ctx->getWireDelay(wire);
QtProperty *delayItem = addSubGroup(topItem, "Delay");
- addProperty(delayItem, QVariant::Double, "Min Raise", delay.minRiseDelay());
- addProperty(delayItem, QVariant::Double, "Max Raise", delay.maxRiseDelay());
+ addProperty(delayItem, QVariant::Double, "Min Rise", delay.minRiseDelay());
+ addProperty(delayItem, QVariant::Double, "Max Rise", delay.maxRiseDelay());
addProperty(delayItem, QVariant::Double, "Min Fall", delay.minFallDelay());
addProperty(delayItem, QVariant::Double, "Max Fall", delay.maxFallDelay());
@@ -724,8 +724,8 @@ void DesignWidget::onSelectionChanged(int num, const QItemSelection &, const QIt
DelayQuad delay = ctx->getPipDelay(pip);
QtProperty *delayItem = addSubGroup(topItem, "Delay");
- addProperty(delayItem, QVariant::Double, "Min Raise", delay.minRiseDelay());
- addProperty(delayItem, QVariant::Double, "Max Raise", delay.maxRiseDelay());
+ addProperty(delayItem, QVariant::Double, "Min Rise", delay.minRiseDelay());
+ addProperty(delayItem, QVariant::Double, "Max Rise", delay.maxRiseDelay());
addProperty(delayItem, QVariant::Double, "Min Fall", delay.minFallDelay());
addProperty(delayItem, QVariant::Double, "Max Fall", delay.maxFallDelay());
} else if (type == ElementType::NET) {