diff options
Diffstat (limited to 'src/gui/setup_video.cpp')
-rw-r--r-- | src/gui/setup_video.cpp | 254 |
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"); } |