Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/frontend
diff options
context:
space:
mode:
authorBottinator22 <59987380+Bottinator22@users.noreply.github.com>2024-12-18 22:26:35 -0800
committerGitHub <noreply@github.com>2024-12-18 22:26:35 -0800
commite12860ad25ec5c345ff2db209a26b2205953529d (patch)
treed9b013ad95256adb5bb4703398522f69ca081c5a /source/frontend
parent1303f54e30f1d33b5f21b527cff000daf990ba04 (diff)
Update StarGraphicsMenu.cpp
Diffstat (limited to 'source/frontend')
-rw-r--r--source/frontend/StarGraphicsMenu.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/source/frontend/StarGraphicsMenu.cpp b/source/frontend/StarGraphicsMenu.cpp
index efce444..3974453 100644
--- a/source/frontend/StarGraphicsMenu.cpp
+++ b/source/frontend/StarGraphicsMenu.cpp
@@ -9,10 +9,12 @@
#include "StarButtonWidget.hpp"
#include "StarOrderedSet.hpp"
#include "StarJsonExtra.hpp"
+#include "StarShadersMenu.hpp"
namespace Star {
-GraphicsMenu::GraphicsMenu() {
+GraphicsMenu::GraphicsMenu(PaneManager* manager,UniverseClientPtr client)
+ : m_paneManager(manager) {
GuiReader reader;
reader.registerCallback("cancel",
[&](Widget*) {
@@ -103,10 +105,14 @@ GraphicsMenu::GraphicsMenu() {
Root::singleton().configuration()->set("newLighting", checked);
syncGui();
});
+ reader.registerCallback("showShadersMenu", [=](Widget*) {
+ displayShaders();
+ });
auto assets = Root::singleton().assets();
- Json paneLayout = assets->json("/interface/windowconfig/graphicsmenu.config:paneLayout");
+ auto config = assets->json("/interface/windowconfig/graphicsmenu.config");
+ Json paneLayout = config.get("paneLayout");
m_interfaceScaleList = jsonToIntList(assets->json("/interface/windowconfig/graphicsmenu.config:interfaceScaleList"));
m_resList = jsonToVec2UList(assets->json("/interface/windowconfig/graphicsmenu.config:resolutionList"));
@@ -122,6 +128,8 @@ GraphicsMenu::GraphicsMenu() {
initConfig();
syncGui();
+
+ m_shadersMenu = make_shared<ShadersMenu>(assets->json(config.getString("shadersPanePath", "/interface/opensb/shaders/shaders.config")), client);
}
void GraphicsMenu::show() {
@@ -240,6 +248,10 @@ void GraphicsMenu::apply() {
}
}
+void GraphicsMenu::displayShaders() {
+ m_paneManager->displayPane(PaneLayer::ModalWindow, m_shadersMenu);
+}
+
void GraphicsMenu::applyWindowSettings() {
auto configuration = Root::singleton().configuration();
auto appController = GuiContext::singleton().applicationController();
@@ -253,4 +265,4 @@ void GraphicsMenu::applyWindowSettings() {
appController->setNormalWindow(jsonToVec2U(configuration->get("windowedResolution")));
}
-} \ No newline at end of file
+}