summaryrefslogtreecommitdiff
path: root/src/gui/setup_video.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/setup_video.cpp')
-rw-r--r--src/gui/setup_video.cpp254
1 files changed, 62 insertions, 192 deletions
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index bbbeb6d7..9add3251 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -109,10 +109,10 @@ ModeListModel::ModeListModel()
const char *SIZE_NAME[4] =
{
- N_("Tiny"),
- N_("Small"),
- N_("Medium"),
- N_("Large"),
+ N_("Tiny"),
+ N_("Small"),
+ N_("Medium"),
+ N_("Large"),
};
class FontSizeChoiceListModel : public gcn::ListModel
@@ -134,6 +134,41 @@ public:
}
};
+static const char *speechModeToString(Being::Speech mode)
+{
+ switch (mode)
+ {
+ case Being::NO_SPEECH: return _("No text");
+ case Being::TEXT_OVERHEAD: return _("Text");
+ case Being::NO_NAME_IN_BUBBLE: return _("Bubbles, no names");
+ case Being::NAME_IN_BUBBLE: return _("Bubbles with names");
+ }
+ return "";
+}
+
+static const char *overlayDetailToString(int detail)
+{
+ switch (detail)
+ {
+ case 0: return _("off");
+ case 1: return _("low");
+ case 2: return _("high");
+ }
+ return "";
+}
+
+static const char *particleDetailToString(int detail)
+{
+ switch (detail)
+ {
+ case 0: return _("low");
+ case 1: return _("medium");
+ case 2: return _("high");
+ case 3: return _("max");
+ }
+ return "";
+}
+
Setup_Video::Setup_Video():
mFullScreenEnabled(config.getValue("screen", false)),
mOpenGLEnabled(config.getValue("opengl", false)),
@@ -145,7 +180,8 @@ Setup_Video::Setup_Video():
mPickupParticleEnabled(config.getValue("showpickupparticle", false)),
mOpacity(config.getValue("guialpha", 0.8)),
mFps((int) config.getValue("fpslimit", 60)),
- mSpeechMode((int) config.getValue("speech", Being::TEXT_OVERHEAD)),
+ mSpeechMode(static_cast<Being::Speech>(
+ config.getValue("speech", Being::TEXT_OVERHEAD))),
mModeListModel(new ModeListModel),
mModeList(new ListBox(mModeListModel)),
mFsCheckBox(new CheckBox(_("Full screen"), mFullScreenEnabled)),
@@ -167,12 +203,6 @@ Setup_Video::Setup_Video():
mFpsCheckBox(new CheckBox(_("FPS Limit:"))),
mFpsSlider(new Slider(10, 120)),
mFpsField(new TextField),
- mOriginalScrollLaziness((int) config.getValue("ScrollLaziness", 16)),
- mScrollLazinessSlider(new Slider(1, 64)),
- mScrollLazinessField(new TextField),
- mOriginalScrollRadius((int) config.getValue("ScrollRadius", 0)),
- mScrollRadiusSlider(new Slider(0, 128)),
- mScrollRadiusField(new TextField),
mOverlayDetail((int) config.getValue("OverlayDetail", 2)),
mOverlayDetailSlider(new Slider(0, 2)),
mOverlayDetailField(new Label("")),
@@ -188,8 +218,6 @@ Setup_Video::Setup_Video():
speechLabel = new Label(_("Overhead text"));
alphaLabel = new Label(_("Gui opacity"));
- scrollRadiusLabel = new Label(_("Scroll radius"));
- scrollLazinessLabel = new Label(_("Scroll laziness"));
overlayDetailLabel = new Label(_("Ambient FX"));
particleDetailLabel = new Label(_("Particle Detail"));
fontSizeLabel = new Label(_("Font size"));
@@ -223,10 +251,6 @@ Setup_Video::Setup_Video():
mFpsCheckBox->setActionEventId("fpslimitcheckbox");
mSpeechSlider->setActionEventId("speech");
mFpsSlider->setActionEventId("fpslimitslider");
- mScrollRadiusSlider->setActionEventId("scrollradiusslider");
- mScrollRadiusField->setActionEventId("scrollradiusfield");
- mScrollLazinessSlider->setActionEventId("scrolllazinessslider");
- mScrollLazinessField->setActionEventId("scrolllazinessfield");
mOverlayDetailSlider->setActionEventId("overlaydetailslider");
mOverlayDetailField->setActionEventId("overlaydetailfield");
mParticleDetailSlider->setActionEventId("particledetailslider");
@@ -243,98 +267,28 @@ Setup_Video::Setup_Video():
mFpsCheckBox->addActionListener(this);
mSpeechSlider->addActionListener(this);
mFpsSlider->addActionListener(this);
- mFpsField->addKeyListener(this);
- mScrollRadiusSlider->addActionListener(this);
- mScrollRadiusField->addKeyListener(this);
- mScrollLazinessSlider->addActionListener(this);
- mScrollLazinessField->addKeyListener(this);
mOverlayDetailSlider->addActionListener(this);
mOverlayDetailField->addKeyListener(this);
mParticleDetailSlider->addActionListener(this);
mParticleDetailField->addKeyListener(this);
- mScrollRadiusField->setText(toString(mOriginalScrollRadius));
- mScrollRadiusSlider->setValue(mOriginalScrollRadius);
-
- mScrollLazinessField->setText(toString(mOriginalScrollLaziness));
- mScrollLazinessSlider->setValue(mOriginalScrollLaziness);
-
- switch (mSpeechMode)
- {
- case 0:
- mSpeechLabel->setCaption(_("No text"));
- break;
- case 1:
- mSpeechLabel->setCaption(_("Text"));
- break;
- case 2:
- mSpeechLabel->setCaption(_("Bubbles, no names"));
- break;
- case 3:
- mSpeechLabel->setCaption(_("Bubbles with names"));
- break;
- }
+ mSpeechLabel->setCaption(speechModeToString(mSpeechMode));
mSpeechSlider->setValue(mSpeechMode);
- switch (mOverlayDetail)
- {
- case 0:
- mOverlayDetailField->setCaption(_("off"));
- break;
- case 1:
- mOverlayDetailField->setCaption(_("low"));
- break;
- case 2:
- mOverlayDetailField->setCaption(_("high"));
- break;
- }
+ mOverlayDetailField->setCaption(overlayDetailToString(mOverlayDetail));
mOverlayDetailSlider->setValue(mOverlayDetail);
- switch (mParticleDetail)
- {
- case 0:
- mParticleDetailField->setCaption(_("low"));
- break;
- case 1:
- mParticleDetailField->setCaption(_("medium"));
- break;
- case 2:
- mParticleDetailField->setCaption(_("high"));
- break;
- case 3:
- mParticleDetailField->setCaption(_("max"));
- break;
- }
+ mParticleDetailField->setCaption(particleDetailToString(mParticleDetail));
mParticleDetailSlider->setValue(mParticleDetail);
- int fontSizeSelected;
- switch (mFontSize)
- {
- case 10:
- fontSizeSelected = 0;
- break;
- case 11:
- fontSizeSelected = 1;
- break;
- case 12:
- fontSizeSelected = 2;
- break;
- case 13:
- fontSizeSelected = 3;
- break;
- default:
- fontSizeSelected = 1;
- break;
- }
-
- mFontSizeDropDown->setSelected(fontSizeSelected);
+ mFontSizeDropDown->setSelected(mFontSize - 10);
mFontSizeDropDown->adjustHeight();
// Do the layout
LayoutHelper h(this);
ContainerPlacer place = h.getPlacer(0, 0);
- place(0, 0, scrollArea, 1, 6).setPadding(2);
+ place(0, 0, scrollArea, 1, 5).setPadding(2);
place(1, 0, mFsCheckBox, 2);
place(3, 0, mOpenGLCheckBox, 1);
@@ -360,25 +314,17 @@ Setup_Video::Setup_Video():
place(1, 8, mFpsCheckBox).setPadding(3);
place(2, 8, mFpsField).setPadding(1);
- place(0, 9, mScrollRadiusSlider);
- place(1, 9, scrollRadiusLabel);
- place(2, 9, mScrollRadiusField).setPadding(1);
+ place(0, 9, mSpeechSlider);
+ place(1, 9, speechLabel);
+ place(2, 9, mSpeechLabel, 3).setPadding(2);
- place(0, 10, mScrollLazinessSlider);
- place(1, 10, scrollLazinessLabel);
- place(2, 10, mScrollLazinessField).setPadding(1);
+ place(0, 10, mOverlayDetailSlider);
+ place(1, 10, overlayDetailLabel);
+ place(2, 10, mOverlayDetailField, 3).setPadding(2);
- place(0, 11, mSpeechSlider);
- place(1, 11, speechLabel);
- place(2, 11, mSpeechLabel, 3).setPadding(2);
-
- place(0, 12, mOverlayDetailSlider);
- place(1, 12, overlayDetailLabel);
- place(2, 12, mOverlayDetailField, 3).setPadding(2);
-
- place(0, 13, mParticleDetailSlider);
- place(1, 13, particleDetailLabel);
- place(2, 13, mParticleDetailField, 3).setPadding(2);
+ place(0, 11, mParticleDetailSlider);
+ place(1, 11, particleDetailLabel);
+ place(2, 11, mParticleDetailField, 3).setPadding(2);
setDimension(gcn::Rectangle(0, 0, 325, 300));
}
@@ -446,7 +392,8 @@ void Setup_Video::apply()
mVisibleNamesEnabled = config.getValue("visiblenames", true);
mParticleEffectsEnabled = config.getValue("particleeffects", true);
mNameEnabled = config.getValue("showownname", false);
- mSpeechMode = (int) config.getValue("speech", Being::TEXT_OVERHEAD);
+ mSpeechMode = static_cast<Being::Speech>(
+ config.getValue("speech", Being::TEXT_OVERHEAD));
mOpacity = config.getValue("guialpha", 0.8);
mOverlayDetail = (int) config.getValue("OverlayDetail", 2);
mOpenGLEnabled = config.getValue("opengl", false);
@@ -454,26 +401,6 @@ void Setup_Video::apply()
mPickupParticleEnabled = config.getValue("showpickupparticle", false);
}
-int Setup_Video::updateSlider(gcn::Slider *slider, gcn::TextField *field,
- const std::string &configName)
-{
- int value;
- std::stringstream temp(field->getText());
- temp >> value;
- if (value < slider->getScaleStart())
- {
- value = (int) slider->getScaleStart();
- }
- else if (value > slider->getScaleEnd())
- {
- value = (int) slider->getScaleEnd();
- }
- field->setText(toString(value));
- slider->setValue(value);
- config.setValue(configName, value);
- return value;
-}
-
void Setup_Video::cancel()
{
mFsCheckBox->setSelected(mFullScreenEnabled);
@@ -487,11 +414,6 @@ void Setup_Video::cancel()
mOverlayDetailSlider->setValue(mOverlayDetail);
mParticleDetailSlider->setValue(mParticleDetail);
- mScrollRadiusField->setText(toString(mOriginalScrollRadius));
- mScrollLazinessField->setText(toString(mOriginalScrollLaziness));
- updateSlider(mScrollRadiusSlider, mScrollRadiusField, "ScrollRadius");
- updateSlider(mScrollLazinessSlider, mScrollLazinessField, "ScrollLaziness");
-
config.setValue("screen", mFullScreenEnabled);
config.setValue("customcursor", mCustomCursorEnabled);
config.setValue("visiblenames", mVisibleNamesEnabled);
@@ -557,22 +479,9 @@ void Setup_Video::action(const gcn::ActionEvent &event)
}
else if (event.getId() == "speech")
{
- int val = (int) mSpeechSlider->getValue();
- switch (val)
- {
- case 0:
- mSpeechLabel->setCaption(_("No text"));
- break;
- case 1:
- mSpeechLabel->setCaption(_("Text"));
- break;
- case 2:
- mSpeechLabel->setCaption(_("Bubbles, no names"));
- break;
- case 3:
- mSpeechLabel->setCaption(_("Bubbles with names"));
- break;
- }
+ Being::Speech val =
+ static_cast<Being::Speech>(mSpeechSlider->getValue());
+ mSpeechLabel->setCaption(speechModeToString(val));
mSpeechSlider->setValue(val);
config.setValue("speech", val);
}
@@ -589,53 +498,16 @@ void Setup_Video::action(const gcn::ActionEvent &event)
mFps = (int) mFpsSlider->getValue();
mFpsField->setText(toString(mFps));
}
- else if (event.getId() == "scrollradiusslider")
- {
- int val = (int) mScrollRadiusSlider->getValue();
- mScrollRadiusField->setText(toString(val));
- config.setValue("ScrollRadius", val);
- }
- else if (event.getId() == "scrolllazinessslider")
- {
- int val = (int) mScrollLazinessSlider->getValue();
- mScrollLazinessField->setText(toString(val));
- config.setValue("ScrollLaziness", val);
- }
else if (event.getId() == "overlaydetailslider")
{
int val = (int) mOverlayDetailSlider->getValue();
- switch (val)
- {
- case 0:
- mOverlayDetailField->setCaption(_("off"));
- break;
- case 1:
- mOverlayDetailField->setCaption(_("low"));
- break;
- case 2:
- mOverlayDetailField->setCaption(_("high"));
- break;
- }
+ mOverlayDetailField->setCaption(overlayDetailToString(val));
config.setValue("OverlayDetail", val);
}
else if (event.getId() == "particledetailslider")
{
int val = (int) mParticleDetailSlider->getValue();
- switch (val)
- {
- case 0:
- mParticleDetailField->setCaption(_("low"));
- break;
- case 1:
- mParticleDetailField->setCaption(_("medium"));
- break;
- case 2:
- mParticleDetailField->setCaption(_("high"));
- break;
- case 3:
- mParticleDetailField->setCaption(_("max"));
- break;
- }
+ mParticleDetailField->setCaption(particleDetailToString(val));
config.setValue("particleEmitterSkip", 3 - val);
Particle::emitterSkip = 4 - val;
}
@@ -678,6 +550,4 @@ void Setup_Video::keyPressed(gcn::KeyEvent &event)
mFpsField->setText("");
mFps = 0;
}
- updateSlider(mScrollRadiusSlider, mScrollRadiusField, "ScrollRadius");
- updateSlider(mScrollLazinessSlider, mScrollLazinessField, "ScrollLaziness");
}