summaryrefslogtreecommitdiff
path: root/src/gui/setup_joystick.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2006-08-28 23:04:08 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2006-08-28 23:04:08 +0000
commit391203d83ed7a72b54fb7d7c72dbe35db14f0ea9 (patch)
treea9a9e14bbbdde0b48c66b99038d505a42a51609b /src/gui/setup_joystick.cpp
parentaf61e1e7df91b97c3f7516e9eb2b37b621f069ad (diff)
downloadmana-client-391203d83ed7a72b54fb7d7c72dbe35db14f0ea9.tar.gz
mana-client-391203d83ed7a72b54fb7d7c72dbe35db14f0ea9.tar.bz2
mana-client-391203d83ed7a72b54fb7d7c72dbe35db14f0ea9.tar.xz
mana-client-391203d83ed7a72b54fb7d7c72dbe35db14f0ea9.zip
Merged trunk development between revisions 2530 and 2618 to the 0.1.0 branch.
Diffstat (limited to 'src/gui/setup_joystick.cpp')
-rw-r--r--src/gui/setup_joystick.cpp57
1 files changed, 45 insertions, 12 deletions
diff --git a/src/gui/setup_joystick.cpp b/src/gui/setup_joystick.cpp
index 36b0ee20..d9212728 100644
--- a/src/gui/setup_joystick.cpp
+++ b/src/gui/setup_joystick.cpp
@@ -26,22 +26,31 @@
#include <guichan/widgets/label.hpp>
#include "button.h"
-
+#include "checkbox.h"
+#include "../configuration.h"
#include "../joystick.h"
extern Joystick *joystick;
Setup_Joystick::Setup_Joystick():
mCalibrateLabel(new gcn::Label("Press the button to start calibration")),
- mCalibrateButton(new Button("Calibrate", "calibrate", this))
+ mCalibrateButton(new Button("Calibrate", "calibrate", this)),
+ mJoystickEnabled(new CheckBox("Enable joystick"))
{
setOpaque(false);
+ mJoystickEnabled->setPosition(10, 10);
+ mCalibrateLabel->setPosition(10, 25);
+ mCalibrateButton->setPosition(10, 30 + mCalibrateLabel->getHeight());
+
+ mOriginalJoystickEnabled = (joystick ? joystick->isEnabled() : false);
+ mJoystickEnabled->setMarked(mOriginalJoystickEnabled);
- mCalibrateLabel->setPosition(5, 10);
- mCalibrateButton->setPosition(10, 20 + mCalibrateLabel->getHeight());
+ mJoystickEnabled->setEventId("joystickEnabled");
+ mJoystickEnabled->addActionListener(this);
add(mCalibrateLabel);
add(mCalibrateButton);
+ add(mJoystickEnabled);
}
void Setup_Joystick::action(const std::string &event, gcn::Widget *widget)
@@ -50,13 +59,37 @@ void Setup_Joystick::action(const std::string &event, gcn::Widget *widget)
return;
}
- if (joystick->isCalibrating()) {
- mCalibrateButton->setCaption("Calibrate");
- mCalibrateLabel->setCaption("Press the button to start calibration");
- joystick->finishCalibration();
- } else {
- mCalibrateButton->setCaption("Stop");
- mCalibrateLabel->setCaption("Rotate the stick");
- joystick->startCalibration();
+ if (event == "joystickEnabled")
+ {
+ joystick->setEnabled(mJoystickEnabled->isMarked());
+ }
+ else
+ {
+ if (joystick->isCalibrating()) {
+ mCalibrateButton->setCaption("Calibrate");
+ mCalibrateLabel->setCaption(
+ "Press the button to start calibration");
+ joystick->finishCalibration();
+ } else {
+ mCalibrateButton->setCaption("Stop");
+ mCalibrateLabel->setCaption("Rotate the stick");
+ joystick->startCalibration();
+ }
}
}
+
+void Setup_Joystick::cancel()
+{
+ if (joystick)
+ {
+ joystick->setEnabled(mOriginalJoystickEnabled);
+ }
+ mJoystickEnabled->setMarked(mOriginalJoystickEnabled);
+}
+
+void Setup_Joystick::apply()
+{
+ config.setValue("joystickEnabled",
+ joystick ? joystick->isEnabled() : false);
+}
+