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

summaryrefslogtreecommitdiff
path: root/source/frontend/StarOptionsMenu.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-07-02 17:19:54 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-07-02 17:19:54 +1000
commit2386a9534289baf73ce299f33e110f612ff55e38 (patch)
tree19dca601d4bb7fa0bae23944485ad87024a034ef /source/frontend/StarOptionsMenu.cpp
parent73841ee041b8b52f5fde16dc272228704697bcb8 (diff)
Input Binding support
Diffstat (limited to 'source/frontend/StarOptionsMenu.cpp')
-rw-r--r--source/frontend/StarOptionsMenu.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/source/frontend/StarOptionsMenu.cpp b/source/frontend/StarOptionsMenu.cpp
index 1805a06..cef2e7d 100644
--- a/source/frontend/StarOptionsMenu.cpp
+++ b/source/frontend/StarOptionsMenu.cpp
@@ -7,6 +7,7 @@
#include "StarLabelWidget.hpp"
#include "StarAssets.hpp"
#include "StarKeybindingsMenu.hpp"
+#include "StarBindingsMenu.hpp"
#include "StarGraphicsMenu.hpp"
namespace Star {
@@ -48,11 +49,16 @@ OptionsMenu::OptionsMenu(PaneManager* manager)
reader.registerCallback("showKeybindings", [=](Widget*) {
displayControls();
});
+ reader.registerCallback("showModBindings", [=](Widget*) {
+ displayModBindings();
+ });
reader.registerCallback("showGraphics", [=](Widget*) {
displayGraphics();
});
- reader.construct(assets->json("/interface/optionsmenu/optionsmenu.config:paneLayout"), this);
+ Json config = assets->json("/interface/optionsmenu/optionsmenu.config");
+
+ reader.construct(config.get("paneLayout"), this);
m_sfxSlider = fetchChild<SliderBarWidget>("sfxSlider");
m_musicSlider = fetchChild<SliderBarWidget>("musicSlider");
@@ -68,6 +74,7 @@ OptionsMenu::OptionsMenu(PaneManager* manager)
m_sfxSlider->setRange(m_sfxRange, assets->json("/interface/optionsmenu/optionsmenu.config:sfxDelta").toInt());
m_musicSlider->setRange(m_musicRange, assets->json("/interface/optionsmenu/optionsmenu.config:musicDelta").toInt());
+ m_modBindingsMenu = make_shared<BindingsMenu>(assets->json(config.getString("bindingsPanePath", "/interface/opensb/bindings/bindings.config")));
m_keybindingsMenu = make_shared<KeybindingsMenu>();
m_graphicsMenu = make_shared<GraphicsMenu>();
@@ -162,6 +169,10 @@ void OptionsMenu::displayControls() {
m_paneManager->displayPane(PaneLayer::ModalWindow, m_keybindingsMenu);
}
+void OptionsMenu::displayModBindings() {
+ m_paneManager->displayPane(PaneLayer::ModalWindow, m_modBindingsMenu);
+}
+
void OptionsMenu::displayGraphics() {
m_paneManager->displayPane(PaneLayer::ModalWindow, m_graphicsMenu);
}