diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2025-02-23 09:03:38 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2025-02-23 09:03:38 +1100 |
commit | 5dda9f47306a6eea5eb4e676c68f81b8285d9dfe (patch) | |
tree | fb41dea87decaf51643430c1ef64dae69e187d71 /source/frontend | |
parent | afcbe910a5e285b25f6961e28943cdf101aa810e (diff) |
add dismiss on swap checkbox
Diffstat (limited to 'source/frontend')
-rw-r--r-- | source/frontend/StarCharSelection.cpp | 4 | ||||
-rw-r--r-- | source/frontend/StarMainInterface.cpp | 24 |
2 files changed, 18 insertions, 10 deletions
diff --git a/source/frontend/StarCharSelection.cpp b/source/frontend/StarCharSelection.cpp index 6a61dcf..2c00b42 100644 --- a/source/frontend/StarCharSelection.cpp +++ b/source/frontend/StarCharSelection.cpp @@ -39,6 +39,10 @@ CharSelectionPane::CharSelectionPane(PlayerStoragePtr playerStorage, guiReader.registerCallback("clearSearch", [=](Widget*) { fetchChild<TextBoxWidget>("searchCharacter")->setText(""); }); + guiReader.registerCallback("toggleDismissCheckbox", [=](Widget* widget) { + auto configuration = Root::singleton().configuration(); + configuration->set("characterSwapDismisses", as<ButtonWidget>(widget)->isChecked()); + }); guiReader.construct(root.assets()->json("/interface/windowconfig/charselection.config"), this); } diff --git a/source/frontend/StarMainInterface.cpp b/source/frontend/StarMainInterface.cpp index 033e1c9..e3b1860 100644 --- a/source/frontend/StarMainInterface.cpp +++ b/source/frontend/StarMainInterface.cpp @@ -27,6 +27,7 @@ #include "StarCanvasWidget.hpp" #include "StarLabelWidget.hpp" #include "StarItemSlotWidget.hpp" +#include "StarButtonWidget.hpp" #include "StarPlayer.hpp" #include "StarPlayerLog.hpp" #include "StarMonster.hpp" @@ -178,16 +179,19 @@ MainInterface::MainInterface(UniverseClientPtr client, WorldPainterPtr painter, if (configuration->get("characterSwapDismisses", false).toBool()) m_paneManager.dismissRegisteredPane(MainInterfacePanes::CharacterSwap); }, [=](Uuid) {}); - { - charSelectionMenu->setReadOnly(true); - charSelectionMenu->setAnchor(PaneAnchor::Center); - charSelectionMenu->unlockPosition(); - auto backgrounds = charSelectionMenu->getBG(); - backgrounds.header = std::move(backgrounds.body); - charSelectionMenu->setBG(backgrounds); - } - - m_paneManager.registerPane(MainInterfacePanes::CharacterSwap, PaneLayer::ModalWindow, charSelectionMenu); + charSelectionMenu->setReadOnly(true); + charSelectionMenu->setAnchor(PaneAnchor::Center); + charSelectionMenu->unlockPosition(); + auto backgrounds = charSelectionMenu->getBG(); + backgrounds.header = std::move(backgrounds.body); + charSelectionMenu->setBG(backgrounds); + charSelectionMenu->findChild("toggleDismissLabel")->setVisibility(true); + auto toggleDismiss = charSelectionMenu->findChild<ButtonWidget>("toggleDismissCheckbox"); + auto configuration = Root::singleton().configuration(); + toggleDismiss->setChecked(configuration->get("characterSwapDismisses", false).toBool()); + toggleDismiss->setVisibility(true); + + m_paneManager.registerPane(MainInterfacePanes::CharacterSwap, PaneLayer::Window, charSelectionMenu); m_nameplatePainter = make_shared<NameplatePainter>(); m_questIndicatorPainter = make_shared<QuestIndicatorPainter>(m_client); |