/
klischa
/
AstraScanner2
Обзор
Документация
Войти
/
klischa
/
AstraScanner2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/controllers/MenuBarBinder.cpp
55 строк
3 KB
Arena Agent
ui: add built-in scanner help and user guide
18 июн 2026, 20:40
18 июн 2026, 20:40
cfd7428
Код
Авторство
О чём код?
#include "MenuBarBinder.h" #include <QMenuBar> #include <QMenu> #include <QAction> #include <QKeySequence> MenuBarBinder::MenuBarBinder(QObject *parent) : QObject(parent) { } void MenuBarBinder::bind(QMenuBar *menuBar, QWidget *owner, const std::function<void()> &onNewProject, const std::function<void()> &onOpenProject, const std::function<void()> &onSaveProject, const std::function<void()> &onSaveProjectAs, const std::function<void()> &onExportCurrentCloud, const std::function<void()> &onExportMesh, const std::function<void()> &onShowSettingsDialog, const std::function<void()> &onShowHelpDialog) { QMenu *fileMenu = menuBar->addMenu("&Файл"); QAction *newAct = fileMenu->addAction("Новый проект…"); QAction *openAct = fileMenu->addAction("Открыть проект…"); QAction *saveAct = fileMenu->addAction("Сохранить проект"); QAction *saveAsAct = fileMenu->addAction("Сохранить проект как…"); newAct->setShortcut(QKeySequence::New); openAct->setShortcut(QKeySequence::Open); saveAct->setShortcut(QKeySequence::Save); saveAsAct->setShortcut(QKeySequence::SaveAs); connect(newAct, &QAction::triggered, this, [onNewProject]() { onNewProject(); }); connect(openAct, &QAction::triggered, this, [onOpenProject]() { onOpenProject(); }); connect(saveAct, &QAction::triggered, this, [onSaveProject]() { onSaveProject(); }); connect(saveAsAct, &QAction::triggered, this, [onSaveProjectAs]() { onSaveProjectAs(); }); QMenu *exportMenu = menuBar->addMenu("&Экспорт"); QAction *exportCloudAct = exportMenu->addAction("Экспорт текущего облака…"); QAction *exportMeshAct = exportMenu->addAction("Экспорт меша…"); connect(exportCloudAct, &QAction::triggered, this, [onExportCurrentCloud]() { onExportCurrentCloud(); }); connect(exportMeshAct, &QAction::triggered, this, [onExportMesh]() { onExportMesh(); }); QMenu *settingsMenu = menuBar->addMenu("&Настройки"); QAction *settingsAct = settingsMenu->addAction("Параметры…"); settingsAct->setShortcut(QKeySequence("Ctrl+,")); connect(settingsAct, &QAction::triggered, this, [onShowSettingsDialog]() { onShowSettingsDialog(); }); QMenu *helpMenu = menuBar->addMenu("&Справка"); QAction *helpAct = helpMenu->addAction("Руководство по работе со сканером…"); helpAct->setShortcut(QKeySequence::HelpContents); connect(helpAct, &QAction::triggered, this, [onShowHelpDialog]() { onShowHelpDialog(); }); Q_UNUSED(owner); }