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.cpp226
1 files changed, 19 insertions, 207 deletions
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index 7f6aecb3..fd6d5160 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -123,45 +123,6 @@ int ModeListModel::getIndexOf(const std::string &widthXHeightMode)
return -1;
}
-const char *SIZE_NAME[4] =
-{
- N_("Tiny"),
- N_("Small"),
- N_("Medium"),
- N_("Large"),
-};
-
-class FontSizeChoiceListModel : public gcn::ListModel
-{
-public:
- virtual ~FontSizeChoiceListModel() { }
-
- virtual int getNumberOfElements()
- {
- return 4;
- }
-
- virtual std::string getElementAt(int i)
- {
- if (i >= getNumberOfElements())
- return _("???");
-
- return SIZE_NAME[i];
- }
-};
-
-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 "";
-}
-
const char *Setup_Video::overlayDetailToString(int detail)
{
if (detail == -1)
@@ -195,38 +156,17 @@ Setup_Video::Setup_Video():
mFullScreenEnabled(config.getBoolValue("screen")),
mOpenGLEnabled(config.getBoolValue("opengl")),
mCustomCursorEnabled(config.getBoolValue("customcursor")),
- mShowMonsterDamageEnabled(config.getBoolValue("showMonstersTakedDamage")),
- mVisibleNamesEnabled(config.getBoolValue("visiblenames")),
mParticleEffectsEnabled(config.getBoolValue("particleeffects")),
- mNameEnabled(config.getBoolValue("showownname")),
- mNPCLogEnabled(config.getBoolValue("logNpcInGui")),
- mPickupChatEnabled(config.getBoolValue("showpickupchat")),
- mPickupParticleEnabled(config.getBoolValue("showpickupparticle")),
- mOpacity(config.getFloatValue("guialpha")),
mFps(config.getIntValue("fpslimit")),
mSDLTransparencyDisabled(config.getBoolValue("disableTransparency")),
- mSpeechMode(static_cast<Being::Speech>(config.getIntValue("speech"))),
mModeListModel(new ModeListModel),
mModeList(new ListBox(mModeListModel)),
mFsCheckBox(new CheckBox(_("Full screen"), mFullScreenEnabled)),
mOpenGLCheckBox(new CheckBox(_("OpenGL"), mOpenGLEnabled)),
mCustomCursorCheckBox(new CheckBox(_("Custom cursor"),
mCustomCursorEnabled)),
- mVisibleNamesCheckBox(new CheckBox(_("Visible names"),
- mVisibleNamesEnabled)),
mParticleEffectsCheckBox(new CheckBox(_("Particle effects"),
mParticleEffectsEnabled)),
- mNameCheckBox(new CheckBox(_("Show own name"), mNameEnabled)),
- mNPCLogCheckBox(new CheckBox(_("Log NPC dialogue"), mNPCLogEnabled)),
- mPickupNotifyLabel(new Label(_("Show pickup notification"))),
- // TRANSLATORS: Refers to "Show pickup notification"
- mPickupChatCheckBox(new CheckBox(_("in chat"), mPickupChatEnabled)),
- // TRANSLATORS: Refers to "Show pickup notification"
- mPickupParticleCheckBox(new CheckBox(_("as particle"),
- mPickupParticleEnabled)),
- mSpeechSlider(new Slider(0, 3)),
- mSpeechLabel(new Label("")),
- mAlphaSlider(new Slider(0.2, 1.0)),
mFpsCheckBox(new CheckBox(_("FPS limit:"))),
mFpsSlider(new Slider(10, 120)),
mFpsLabel(new Label),
@@ -236,27 +176,17 @@ Setup_Video::Setup_Video():
mParticleDetail(3 - config.getIntValue("particleEmitterSkip")),
mParticleDetailSlider(new Slider(0, 3)),
mParticleDetailField(new Label),
- mFontSize(config.getIntValue("fontSize")),
mDisableSDLTransparencyCheckBox(
new CheckBox(_("Disable transparency (Low CPU mode)"),
mSDLTransparencyDisabled))
{
setName(_("Video"));
- mShowMonsterDamageCheckBox = new CheckBox(_("Show damage"),
- mShowMonsterDamageEnabled);
-
ScrollArea *scrollArea = new ScrollArea(mModeList);
scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
- speechLabel = new Label(_("Overhead text"));
- alphaLabel = new Label(_("Gui opacity"));
overlayDetailLabel = new Label(_("Ambient FX"));
particleDetailLabel = new Label(_("Particle detail"));
- fontSizeLabel = new Label(_("Font size"));
-
- mFontSizeListModel = new FontSizeChoiceListModel;
- mFontSizeDropDown = new DropDown(mFontSizeListModel);
mModeList->setEnabled(true);
@@ -264,10 +194,6 @@ Setup_Video::Setup_Video():
mOpenGLCheckBox->setEnabled(false);
#endif
- mAlphaSlider->setValue(mOpacity);
- mAlphaSlider->setWidth(90);
- mAlphaSlider->setEnabled(!mSDLTransparencyDisabled);
-
mFpsLabel->setCaption(mFps > 0 ? toString(mFps) : _("None"));
mFpsLabel->setWidth(60);
mFpsSlider->setValue(mFps);
@@ -283,48 +209,31 @@ Setup_Video::Setup_Video():
+ toString(graphics->getHeight());
mModeList->setSelected(mModeListModel->getIndexOf(videoMode));
+ // Set actions
mModeList->setActionEventId("videomode");
mCustomCursorCheckBox->setActionEventId("customcursor");
- mShowMonsterDamageCheckBox->setActionEventId("monsterdamage");
- mVisibleNamesCheckBox->setActionEventId("visiblenames");
mParticleEffectsCheckBox->setActionEventId("particleeffects");
- mPickupChatCheckBox->setActionEventId("pickupchat");
- mPickupParticleCheckBox->setActionEventId("pickupparticle");
- mNameCheckBox->setActionEventId("showownname");
- mNPCLogCheckBox->setActionEventId("lognpc");
- mAlphaSlider->setActionEventId("guialpha");
+ mDisableSDLTransparencyCheckBox->setActionEventId("disableTransparency");
mFpsCheckBox->setActionEventId("fpslimitcheckbox");
- mSpeechSlider->setActionEventId("speech");
mFpsSlider->setActionEventId("fpslimitslider");
mOverlayDetailSlider->setActionEventId("overlaydetailslider");
mOverlayDetailField->setActionEventId("overlaydetailfield");
mOpenGLCheckBox->setActionEventId("opengl");
mParticleDetailSlider->setActionEventId("particledetailslider");
mParticleDetailField->setActionEventId("particledetailfield");
- mDisableSDLTransparencyCheckBox->setActionEventId("disableTransparency");
+ // Set listeners
mModeList->addActionListener(this);
mCustomCursorCheckBox->addActionListener(this);
- mShowMonsterDamageCheckBox->addActionListener(this);
- mVisibleNamesCheckBox->addActionListener(this);
mOpenGLCheckBox->addActionListener(this);
mParticleEffectsCheckBox->addActionListener(this);
- mPickupChatCheckBox->addActionListener(this);
- mPickupParticleCheckBox->addActionListener(this);
- mNameCheckBox->addActionListener(this);
- mNPCLogCheckBox->addActionListener(this);
- mAlphaSlider->addActionListener(this);
+ mDisableSDLTransparencyCheckBox->addActionListener(this);
mFpsCheckBox->addActionListener(this);
- mSpeechSlider->addActionListener(this);
mFpsSlider->addActionListener(this);
mOverlayDetailSlider->addActionListener(this);
mOverlayDetailField->addKeyListener(this);
mParticleDetailSlider->addActionListener(this);
mParticleDetailField->addKeyListener(this);
- mDisableSDLTransparencyCheckBox->addActionListener(this);
-
- mSpeechLabel->setCaption(speechModeToString(mSpeechMode));
- mSpeechSlider->setValue(mSpeechMode);
mOverlayDetailField->setCaption(overlayDetailToString(mOverlayDetail));
mOverlayDetailSlider->setValue(mOverlayDetail);
@@ -332,54 +241,31 @@ Setup_Video::Setup_Video():
mParticleDetailField->setCaption(particleDetailToString(mParticleDetail));
mParticleDetailSlider->setValue(mParticleDetail);
- mFontSizeDropDown->setSelected(mFontSize - 10);
- mFontSizeDropDown->adjustHeight();
-
// Do the layout
LayoutHelper h(this);
ContainerPlacer place = h.getPlacer(0, 0);
- place(0, 0, scrollArea, 1, 5).setPadding(2);
- place(1, 0, mFsCheckBox, 2);
- place(3, 0, mOpenGLCheckBox, 1);
-
- place(1, 1, mCustomCursorCheckBox, 3);
- place(3, 1, mShowMonsterDamageCheckBox, 3);
-
- place(1, 2, mVisibleNamesCheckBox, 3);
- place(3, 2, mNameCheckBox, 1);
-
- place(1, 3, mParticleEffectsCheckBox, 3);
- place(3, 3, mNPCLogCheckBox, 1);
-
- place(1, 4, mPickupNotifyLabel, 4);
-
- place(1, 5, mPickupChatCheckBox, 1);
- place(2, 5, mPickupParticleCheckBox, 2);
+ place(0, 0, scrollArea, 2, 6).setPadding(2);
- place(0, 6, fontSizeLabel, 3);
- place(1, 6, mFontSizeDropDown, 2);
+ place(2, 0, mFsCheckBox, 2);
+ place(4, 0, mOpenGLCheckBox, 2);
- place(0, 7, mAlphaSlider);
- place(1, 7, alphaLabel, 3);
+ place(2, 2, mCustomCursorCheckBox, 2);
+ place(4, 2, mParticleEffectsCheckBox, 2);
- place(0, 8, mFpsSlider);
- place(1, 8, mFpsCheckBox).setPadding(3);
- place(2, 8, mFpsLabel).setPadding(1);
+ place(2, 4, mDisableSDLTransparencyCheckBox, 4);
- place(0, 9, mSpeechSlider);
- place(1, 9, speechLabel);
- place(2, 9, mSpeechLabel, 3).setPadding(2);
+ place(0, 6, mFpsSlider, 2);
+ place(2, 6, mFpsCheckBox).setPadding(3);
+ place(3, 6, mFpsLabel).setPadding(1);
- place(0, 10, mOverlayDetailSlider);
- place(1, 10, overlayDetailLabel);
- place(2, 10, mOverlayDetailField, 3).setPadding(2);
+ place(0, 7, mOverlayDetailSlider, 2);
+ place(2, 7, overlayDetailLabel);
+ place(3, 7, mOverlayDetailField).setPadding(2);
- place(0, 11, mParticleDetailSlider);
- place(1, 11, particleDetailLabel);
- place(2, 11, mParticleDetailField, 3).setPadding(2);
-
- place(0, 12, mDisableSDLTransparencyCheckBox, 4);
+ place(0, 8, mParticleDetailSlider, 2);
+ place(2, 8, particleDetailLabel);
+ place(3, 8, mParticleDetailField).setPadding(2);
setDimension(gcn::Rectangle(0, 0, 365, 300));
}
@@ -388,7 +274,6 @@ Setup_Video::~Setup_Video()
{
delete mModeListModel;
delete mModeList;
- delete mFontSizeListModel;
}
void Setup_Video::apply()
@@ -486,22 +371,13 @@ void Setup_Video::apply()
// FPS change
config.setValue("fpslimit", mFps);
- config.setValue("fontSize", mFontSizeDropDown->getSelected() + 10);
// We sync old and new values at apply time
mFullScreenEnabled = config.getBoolValue("screen");
mCustomCursorEnabled = config.getBoolValue("customcursor");
- mShowMonsterDamageEnabled = config.getBoolValue("showMonstersTakedDamage");
- mVisibleNamesEnabled = config.getBoolValue("visiblenames");
mParticleEffectsEnabled = config.getBoolValue("particleeffects");
- mNameEnabled = config.getBoolValue("showownname");
- mNPCLogEnabled = config.getBoolValue("logNpcInGui");
- mSpeechMode = static_cast<Being::Speech>(config.getIntValue("speech"));
- mOpacity = config.getFloatValue("guialpha");
mOverlayDetail = config.getIntValue("OverlayDetail");
mOpenGLEnabled = config.getBoolValue("opengl");
- mPickupChatEnabled = config.getBoolValue("showpickupchat");
- mPickupParticleEnabled = config.getBoolValue("showpickupparticle");
mSDLTransparencyDisabled = config.getBoolValue("disableTransparency");
}
@@ -511,16 +387,9 @@ void Setup_Video::cancel()
mFsCheckBox->setSelected(mFullScreenEnabled);
mOpenGLCheckBox->setSelected(mOpenGLEnabled);
mCustomCursorCheckBox->setSelected(mCustomCursorEnabled);
- mShowMonsterDamageCheckBox->setSelected(mShowMonsterDamageEnabled);
- mVisibleNamesCheckBox->setSelected(mVisibleNamesEnabled);
mParticleEffectsCheckBox->setSelected(mParticleEffectsEnabled);
mFpsSlider->setValue(mFps);
mFpsSlider->setEnabled(mFps > 0);
- mSpeechSlider->setValue(mSpeechMode);
- mNameCheckBox->setSelected(mNameEnabled);
- mNPCLogCheckBox->setSelected(mNPCLogEnabled);
- mAlphaSlider->setValue(mOpacity);
- mAlphaSlider->setEnabled(!mSDLTransparencyDisabled);
mOverlayDetailSlider->setValue(mOverlayDetail);
mParticleDetailSlider->setValue(mParticleDetail);
std::string text = mFpsCheckBox->isSelected() ? toString(mFps) : _("None");
@@ -538,18 +407,8 @@ void Setup_Video::cancel()
config.setValue("screenheight", graphics->getHeight());
config.setValue("customcursor", mCustomCursorEnabled);
- config.setValue("showMonstersTakedDamage", mShowMonsterDamageEnabled);
- config.setValue("visiblenames", mVisibleNamesEnabled);
config.setValue("particleeffects", mParticleEffectsEnabled);
- config.setValue("speech", mSpeechMode);
- config.setValue("showownname", mNameEnabled);
- if (player_node)
- player_node->setCheckNameSetting(true);
- config.setValue("logNpcInGui", mNPCLogEnabled);
- config.setValue("guialpha", mOpacity);
config.setValue("opengl", mOpenGLEnabled);
- config.setValue("showpickupchat", mPickupChatEnabled);
- config.setValue("showpickupparticle", mPickupParticleEnabled);
config.setValue("disableTransparency", mSDLTransparencyDisabled);
}
@@ -579,22 +438,10 @@ void Setup_Video::action(const gcn::ActionEvent &event)
config.setValue("screenwidth", width);
config.setValue("screenheight", height);
}
- else if (id == "guialpha")
- {
- config.setValue("guialpha", mAlphaSlider->getValue());
- }
else if (id == "customcursor")
{
config.setValue("customcursor", mCustomCursorCheckBox->isSelected());
}
- else if (id == "monsterdamage")
- {
- config.setValue("showMonstersTakedDamage", mShowMonsterDamageCheckBox->isSelected());
- }
- else if (id == "visiblenames")
- {
- config.setValue("visiblenames", mVisibleNamesCheckBox->isSelected());
- }
else if (id == "particleeffects")
{
config.setValue("particleeffects",
@@ -607,34 +454,6 @@ void Setup_Video::action(const gcn::ActionEvent &event)
_("Changes will take effect on map change."));
}
}
- else if (id == "pickupchat")
- {
- config.setValue("showpickupchat", mPickupChatCheckBox->isSelected());
- }
- else if (id == "pickupparticle")
- {
- config.setValue("showpickupparticle",
- mPickupParticleCheckBox->isSelected());
- }
- else if (id == "speech")
- {
- Being::Speech val = (Being::Speech)mSpeechSlider->getValue();
- mSpeechLabel->setCaption(speechModeToString(val));
- mSpeechSlider->setValue(val);
- config.setValue("speech", val);
- }
- else if (id == "showownname")
- {
- // Notify the local player that settings have changed for the name
- // and requires an update
- if (player_node)
- player_node->setCheckNameSetting(true);
- config.setValue("showownname", mNameCheckBox->isSelected());
- }
- else if (id == "lognpc")
- {
- config.setValue("logNpcInGui", mNPCLogCheckBox->isSelected());
- }
else if (id == "overlaydetailslider")
{
int val = (int) mOverlayDetailSlider->getValue();
@@ -671,12 +490,5 @@ void Setup_Video::action(const gcn::ActionEvent &event)
{
mDisableSDLTransparencyCheckBox->setEnabled(true);
}
-
- // Disable gui opacity slider when disabling transparency.
- if (mDisableSDLTransparencyCheckBox->isEnabled())
- mAlphaSlider->setEnabled(
- !mDisableSDLTransparencyCheckBox->isSelected());
- else
- mAlphaSlider->setEnabled(true);
}
}