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

summaryrefslogtreecommitdiff
path: root/source/frontend
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2025-02-23 09:03:38 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2025-02-23 09:03:38 +1100
commit5dda9f47306a6eea5eb4e676c68f81b8285d9dfe (patch)
treefb41dea87decaf51643430c1ef64dae69e187d71 /source/frontend
parentafcbe910a5e285b25f6961e28943cdf101aa810e (diff)
add dismiss on swap checkbox
Diffstat (limited to 'source/frontend')
-rw-r--r--source/frontend/StarCharSelection.cpp4
-rw-r--r--source/frontend/StarMainInterface.cpp24
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);