gui: Implement about dialog

Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
gatecat 2021-07-25 12:06:51 +01:00
parent 5212e38512
commit 0e3b25468c
4 changed files with 15 additions and 0 deletions

View File

@ -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(msg) (assert_fail_impl(msg, "false", __FILE__, __LINE__))
#define NPNR_ASSERT_FALSE_STR(msg) (assert_fail_impl_str(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 #define NPNR_STRINGIFY(x) #x
NEXTPNR_NAMESPACE_END NEXTPNR_NAMESPACE_END

View File

@ -34,6 +34,7 @@ add_library(gui_${family} STATIC ${GUI_SOURCE_FILES} ${PYTHON_CONSOLE_SRC} ${GUI
include(${family}/family.cmake) 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 ../${family} ${family} ../3rdparty/QtPropertyBrowser/src ../3rdparty/imgui ../3rdparty/qtimgui/)
target_include_directories(gui_${family} PRIVATE ${CMAKE_BINARY_DIR}/generated)
if (BUILD_PYTHON) if (BUILD_PYTHON)
target_include_directories(gui_${family} PRIVATE ../3rdparty/python-console ../3rdparty/python-console/modified) target_include_directories(gui_${family} PRIVATE ../3rdparty/python-console ../3rdparty/python-console/modified)
endif() endif()

View File

@ -35,6 +35,7 @@
#include "log.h" #include "log.h"
#include "mainwindow.h" #include "mainwindow.h"
#include "pythontab.h" #include "pythontab.h"
#include "version.h"
static void initBasenameResource() { Q_INIT_RESOURCE(base); } 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::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() void BaseMainWindow::createMenusAndBars()
{ {
// File menu / project toolbar actions // File menu / project toolbar actions
@ -140,6 +150,7 @@ void BaseMainWindow::createMenusAndBars()
// Help menu actions // Help menu actions
QAction *actionAbout = new QAction("About", this); QAction *actionAbout = new QAction("About", this);
connect(actionAbout, &QAction::triggered, this, &BaseMainWindow::about);
// Gile menu options // Gile menu options
actionNew = new QAction("New", this); actionNew = new QAction("New", this);

View File

@ -87,6 +87,8 @@ class BaseMainWindow : public QMainWindow
void saveMovie(); void saveMovie();
void saveSVG(); void saveSVG();
void about();
Q_SIGNALS: Q_SIGNALS:
void contextChanged(Context *ctx); void contextChanged(Context *ctx);
void updateTreeView(); void updateTreeView();