diff --git a/apps/armoury/include/penumbraapi.h b/apps/armoury/include/penumbraapi.h index cb44d2f..341aab3 100644 --- a/apps/armoury/include/penumbraapi.h +++ b/apps/armoury/include/penumbraapi.h @@ -12,6 +12,7 @@ public: public Q_SLOTS: void redrawAll(); + void openWindow(); private: QNetworkAccessManager *m_mgr = nullptr; diff --git a/apps/armoury/src/mainwindow.cpp b/apps/armoury/src/mainwindow.cpp index 3ee2b9f..aa07122 100644 --- a/apps/armoury/src/mainwindow.cpp +++ b/apps/armoury/src/mainwindow.cpp @@ -107,6 +107,18 @@ void MainWindow::setupAdditionalMenus(QMenuBar *menuBar) fmvMenu->setChecked(fullModelViewer->isVisible()); }); + auto penumbraMenu = menuBar->addMenu(i18nc("@title:menu", "Penumbra")); + + auto redrawAction = penumbraMenu->addAction(i18nc("@action:inmenu", "Redraw All")); + connect(redrawAction, &QAction::triggered, [this] { + m_api->redrawAll(); + }); + + auto openWindowAction = penumbraMenu->addAction(i18nc("@action:inmenu", "Open Window")); + connect(openWindowAction, &QAction::triggered, [this] { + m_api->openWindow(); + }); + auto settingsMenu = menuBar->addMenu(i18nc("@title:menu", "Settings")); auto settingsAction = settingsMenu->addAction(i18nc("@action:inmenu", "Configure Armoury…")); diff --git a/apps/armoury/src/penumbraapi.cpp b/apps/armoury/src/penumbraapi.cpp index bcfe7b3..b811370 100644 --- a/apps/armoury/src/penumbraapi.cpp +++ b/apps/armoury/src/penumbraapi.cpp @@ -13,3 +13,8 @@ void PenumbraApi::redrawAll() { m_mgr->post(QNetworkRequest(QUrl(QStringLiteral("http://localhost:42069/api/redrawAll"))), QByteArray{}); } + +void PenumbraApi::openWindow() +{ + m_mgr->post(QNetworkRequest(QUrl(QStringLiteral("http://localhost:42069/api/openwindow"))), QByteArray{}); +}