diff options
author | ewewukek <ewewukek@gmail.com> | 2024-01-11 13:03:53 +0300 |
---|---|---|
committer | ewewukek <ewewukek@gmail.com> | 2024-03-27 13:18:30 +0300 |
commit | 9728279062a74c4e80c7ed1c714571ae6fda2016 (patch) | |
tree | cdf9c4f81effd3e5d1a672bb85147b46290779c8 /src/gui/widgets/tabs | |
parent | 9ccb4f7cc71443f9ed43171d4d825ba08b61943c (diff) | |
download | manaverse-9728279062a74c4e80c7ed1c714571ae6fda2016.tar.gz manaverse-9728279062a74c4e80c7ed1c714571ae6fda2016.tar.bz2 manaverse-9728279062a74c4e80c7ed1c714571ae6fda2016.tar.xz manaverse-9728279062a74c4e80c7ed1c714571ae6fda2016.zip |
Add a checkbox for d-pad to switch between movement and button behavior
Diffstat (limited to 'src/gui/widgets/tabs')
-rw-r--r-- | src/gui/widgets/tabs/setup_joystick.cpp | 22 | ||||
-rw-r--r-- | src/gui/widgets/tabs/setup_joystick.h | 1 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/gui/widgets/tabs/setup_joystick.cpp b/src/gui/widgets/tabs/setup_joystick.cpp index c7ece8c7a..860f7a251 100644 --- a/src/gui/widgets/tabs/setup_joystick.cpp +++ b/src/gui/widgets/tabs/setup_joystick.cpp @@ -55,6 +55,11 @@ Setup_Joystick::Setup_Joystick(const Widget2 *const widget) : false, Modal_false, nullptr, std::string())), mToleranceLabel(new Label(this)), mToleranceSlider(new Slider(this, 0.01, 1, 0.01)), + mUseHatForMovementCheckBox(new CheckBox(this, + // TRANSLATORS: joystick settings tab checkbox + _("Use joystick hat (d-pad) for movement"), + config.getBoolValue("useHatForMovement"), + nullptr, std::string())), mUseInactiveCheckBox(new CheckBox(this, // TRANSLATORS: joystick settings tab checkbox _("Use joystick if client window inactive"), @@ -106,10 +111,11 @@ Setup_Joystick::Setup_Joystick(const Widget2 *const widget) : place(0, 2, mToleranceSlider, 1, 1); place(1, 2, mToleranceLabel, 1, 1).setPadding(3); - place(0, 3, mUseInactiveCheckBox, 1, 1); - place(0, 4, mDetectButton, 1, 1); + place(0, 3, mUseHatForMovementCheckBox, 1, 1); + place(0, 4, mUseInactiveCheckBox, 1, 1); + place(0, 5, mDetectButton, 1, 1); - setDimension(Rect(0, 0, 365, 60)); + setDimension(Rect(0, 0, 365, 75)); } Setup_Joystick::~Setup_Joystick() @@ -176,8 +182,14 @@ void Setup_Joystick::apply() config.setValue("joystickEnabled", Joystick::isEnabled()); - config.setValue("useInactiveJoystick", mUseInactiveCheckBox->isSelected()); - joystick->setUseInactive(mUseInactiveCheckBox->isSelected()); + config.setValue("useHatForMovement", + mUseHatForMovementCheckBox->isSelected()); + joystick->setUseHatForMovement( + mUseHatForMovementCheckBox->isSelected()); + config.setValue("useInactiveJoystick", + mUseInactiveCheckBox->isSelected()); + joystick->setUseInactive( + mUseInactiveCheckBox->isSelected()); float tolerance = mToleranceSlider->getValue(); config.setValue("joystickTolerance", tolerance); diff --git a/src/gui/widgets/tabs/setup_joystick.h b/src/gui/widgets/tabs/setup_joystick.h index fce59a02c..2c138daf5 100644 --- a/src/gui/widgets/tabs/setup_joystick.h +++ b/src/gui/widgets/tabs/setup_joystick.h @@ -57,6 +57,7 @@ class Setup_Joystick final : public SetupTab DropDown *mNamesDropDown A_NONNULLPOINTER; Label *mToleranceLabel A_NONNULLPOINTER; Slider *mToleranceSlider A_NONNULLPOINTER; + CheckBox *mUseHatForMovementCheckBox A_NONNULLPOINTER; CheckBox *mUseInactiveCheckBox A_NONNULLPOINTER; bool mOriginalJoystickEnabled A_NONNULLPOINTER; }; |