Adds about QMenu
All checks were successful
Build Skui / Build on ubuntu-latest (pull_request) Successful in 8m7s
Validate format using clang / Formatting Check (pull_request) Successful in 5m38s

The commit adds the following links:
- Repository
- Bugreport
- Wiki
- Contact mail
- Licence
- Last commit and tag

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-05-04 22:44:55 +02:00
parent a42cf60f30
commit c52a315ec6
3 changed files with 66 additions and 1 deletions

View File

@@ -9,6 +9,33 @@ qt_add_executable(skui
../../libs/icons.qrc
)
find_package(Git QUIET)
set(SKUI_BUILD_COMMIT "unknown")
set(SKUI_BUILD_TAG "")
if(GIT_FOUND)
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse --short=8 HEAD
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE SKUI_BUILD_COMMIT
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
execute_process(
COMMAND "${GIT_EXECUTABLE}" describe --tags --abbrev=0 HEAD
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE SKUI_BUILD_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
endif()
target_compile_definitions(skui PRIVATE
SKUI_BUILD_COMMIT="${SKUI_BUILD_COMMIT}"
SKUI_BUILD_TAG="${SKUI_BUILD_TAG}"
)
target_link_libraries(skui PRIVATE Qt6::Widgets)
set_target_properties(skui PROPERTIES

View File

@@ -24,7 +24,7 @@ MainWindow::MainWindow(QWidget *parent)
loadInsertVisualMenu();
loadDebugMenu();
loadAboutMenu();
loadAlignTools();
connect(this, &MainWindow::modeChanged, new_document->panel(), &Panel::setMode);
@@ -56,6 +56,41 @@ void MainWindow::loadDebugMenu()
#endif
}
void MainWindow::loadAboutMenu()
{
QMenu *about_menu = menuBar()->addMenu("About");
about_menu->addAction("Repository", this, [] {
QDesktopServices::openUrl(QUrl("https://dev.skui.eu/SKUI/SKUI"));
});
about_menu->addAction("Report a Bug", this, [] {
QDesktopServices::openUrl(QUrl("https://dev.skui.eu/SKUI/SKUI/issues/"
"new?template=.gitea%2fissue_template%2fbug-report.yml"));
});
about_menu->addAction("Wiki", this, [] {
QDesktopServices::openUrl(QUrl("https://dev.skui.eu/SKUI/SKUI/wiki"));
});
about_menu->addAction("Contact Mail", this, [] {
QDesktopServices::openUrl(QUrl("mailto:info@skui.eu"));
});
about_menu->addAction("License (GPLv3)", this, [] {
QDesktopServices::openUrl(QUrl("https://dev.skui.eu/SKUI/SKUI/src/branch/main/LICENSE"));
});
const QString build_commit = QString::fromLatin1(SKUI_BUILD_COMMIT);
const QString build_tag = QString::fromLatin1(SKUI_BUILD_TAG);
QString info_title = QStringLiteral("Commit (") + build_commit;
if (!build_tag.isEmpty()) {
info_title += QStringLiteral(", ") + build_tag;
}
info_title += QLatin1Char(')');
about_menu->addAction(info_title);
}
void MainWindow::loadAlignTools()
{
const AlignTool align_tools[]

View File

@@ -1,8 +1,10 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QDesktopServices>
#include <QDir>
#include <QMainWindow>
#include <QMessageBox>
#include "document.h"
#include "nodeeditor.h"
@@ -43,6 +45,7 @@ private:
void loadInsertVisualMenu();
void loadDebugMenu();
void loadAboutMenu();
void loadAlignTools();
DisplayMode m_display_mode = DisplayMode::Run;