master
simon 2013-04-11 16:15:49 -07:00
commit c262cb15d3
3 changed files with 105 additions and 23 deletions

View File

@ -337,7 +337,7 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
mCommitCallbackRegistrar.add("Pref.HardwareDefaults", boost::bind(&LLFloaterPreference::setHardwareDefaults, this));
mCommitCallbackRegistrar.add("Pref.VertexShaderEnable", boost::bind(&LLFloaterPreference::onVertexShaderEnable, this));
mCommitCallbackRegistrar.add("Pref.WindowedMod", boost::bind(&LLFloaterPreference::onCommitWindowedMode, this));
mCommitCallbackRegistrar.add("Pref.UpdateSliderText", boost::bind(&LLFloaterPreference::onUpdateSliderText,this, _1,_2));
mCommitCallbackRegistrar.add("Pref.UpdateSliderText", boost::bind(&LLFloaterPreference::refreshUI,this));
mCommitCallbackRegistrar.add("Pref.QualityPerformance", boost::bind(&LLFloaterPreference::onChangeQuality, this, _2));
mCommitCallbackRegistrar.add("Pref.applyUIColor", boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2));
mCommitCallbackRegistrar.add("Pref.getUIColor", boost::bind(&LLFloaterPreference::getUIColor, this ,_1, _2));
@ -1147,6 +1147,8 @@ void LLFloaterPreference::refreshEnabledState()
//Deferred/SSAO/Shadows
LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders");
LLCheckBoxCtrl* ctrl_deferred2 = getChild<LLCheckBoxCtrl>("UseLightShaders2");
BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
shaders &&
@ -1155,11 +1157,13 @@ void LLFloaterPreference::refreshEnabledState()
(ctrl_wind_light->get()) ? TRUE : FALSE;
ctrl_deferred->setEnabled(enabled);
ctrl_deferred2->setEnabled(enabled);
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
LLCheckBoxCtrl* ctrl_dof = getChild<LLCheckBoxCtrl>("UseDoF");
LLComboBox* ctrl_shadow = getChild<LLComboBox>("ShadowDetail");
// note, okay here to get from ctrl_deferred as it's twin, ctrl_deferred2 will alway match it
enabled = enabled && LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferredSSAO") && (ctrl_deferred->get() ? TRUE : FALSE);
ctrl_ssao->setEnabled(enabled);
@ -1185,6 +1189,7 @@ void LLFloaterPreference::disableUnavailableSettings()
LLCheckBoxCtrl* ctrl_wind_light = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders");
LLCheckBoxCtrl* ctrl_avatar_impostors = getChild<LLCheckBoxCtrl>("AvatarImpostors");
LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders");
LLCheckBoxCtrl* ctrl_deferred2 = getChild<LLCheckBoxCtrl>("UseLightShaders2");
LLComboBox* ctrl_shadows = getChild<LLComboBox>("ShadowDetail");
LLCheckBoxCtrl* ctrl_ssao = getChild<LLCheckBoxCtrl>("UseSSAO");
LLCheckBoxCtrl* ctrl_dof = getChild<LLCheckBoxCtrl>("UseDoF");
@ -1218,6 +1223,8 @@ void LLFloaterPreference::disableUnavailableSettings()
ctrl_deferred->setEnabled(FALSE);
ctrl_deferred->setValue(FALSE);
ctrl_deferred2->setEnabled(FALSE);
ctrl_deferred2->setValue(FALSE);
}
// disabled windlight
@ -1238,6 +1245,8 @@ void LLFloaterPreference::disableUnavailableSettings()
ctrl_deferred->setEnabled(FALSE);
ctrl_deferred->setValue(FALSE);
ctrl_deferred2->setEnabled(FALSE);
ctrl_deferred2->setValue(FALSE);
}
// disabled deferred
@ -1255,6 +1264,8 @@ void LLFloaterPreference::disableUnavailableSettings()
ctrl_deferred->setEnabled(FALSE);
ctrl_deferred->setValue(FALSE);
ctrl_deferred2->setEnabled(FALSE);
ctrl_deferred2->setValue(FALSE);
}
// disabled deferred SSAO
@ -1299,6 +1310,8 @@ void LLFloaterPreference::disableUnavailableSettings()
ctrl_deferred->setEnabled(FALSE);
ctrl_deferred->setValue(FALSE);
ctrl_deferred2->setEnabled(FALSE);
ctrl_deferred2->setValue(FALSE);
}
// disabled cloth
@ -1327,6 +1340,7 @@ void LLFloaterPreference::refresh()
updateSliderText(getChild<LLSliderCtrl>("FlexibleMeshDetail", true), getChild<LLTextBox>("FlexibleMeshDetailText", true));
updateSliderText(getChild<LLSliderCtrl>("TreeMeshDetail", true), getChild<LLTextBox>("TreeMeshDetailText", true));
updateSliderText(getChild<LLSliderCtrl>("AvatarMeshDetail", true), getChild<LLTextBox>("AvatarMeshDetailText", true));
updateSliderText(getChild<LLSliderCtrl>("AvatarMeshDetail2", true), getChild<LLTextBox>("AvatarMeshDetailText2", true));
updateSliderText(getChild<LLSliderCtrl>("AvatarPhysicsDetail", true), getChild<LLTextBox>("AvatarPhysicsDetailText", true));
updateSliderText(getChild<LLSliderCtrl>("TerrainMeshDetail", true), getChild<LLTextBox>("TerrainMeshDetailText", true));
updateSliderText(getChild<LLSliderCtrl>("RenderPostProcess", true), getChild<LLTextBox>("PostProcessText", true));
@ -1578,16 +1592,9 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im
getChildView("chat_font_size")->setEnabled(TRUE);
}
void LLFloaterPreference::onUpdateSliderText(LLUICtrl* ctrl, const LLSD& name)
void LLFloaterPreference::refreshUI()
{
std::string ctrl_name = name.asString();
if ((ctrl_name =="" )|| !hasChild(ctrl_name, true))
return;
LLTextBox* text_box = getChild<LLTextBox>(name.asString());
LLSliderCtrl* slider = dynamic_cast<LLSliderCtrl*>(ctrl);
updateSliderText(slider, text_box);
refresh();
}
void LLFloaterPreference::updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_box)

View File

@ -154,8 +154,7 @@ public:
void onChangeQuality(const LLSD& data);
void updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_box);
void onUpdateSliderText(LLUICtrl* ctrl, const LLSD& name);
// void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator);
void refreshUI();
void onCommitParcelMediaAutoPlayEnable();
void onCommitMediaEnabled();

View File

@ -177,10 +177,86 @@
width="80">
Ultra
</text>
<slider
control_name="RenderAvatarLODFactor"
invisiblity_control="ShowAdvancedGraphicsSettings"
follows="left|top"
height="16"
increment="0.125"
initial_value="160"
label="Avatar detail:"
label_width="90"
layout="topleft"
left="30"
name="AvatarMeshDetail2"
show_text="false"
top="72"
width="300">
<slider.commit_callback
function="Pref.UpdateSliderText"
parameter="AvatarMeshDetailText2" />
</slider>
<text
type="string"
invisiblity_control="ShowAdvancedGraphicsSettings"
length="1"
follows="left|top"
height="12"
layout="topleft"
name="AvatarMeshDetailText2"
top_delta="0"
left_delta="304"
width="128">
Low
</text>
<slider
control_name="RenderFarClip"
invisiblity_control="ShowAdvancedGraphicsSettings"
decimal_digits="0"
follows="left|top"
height="16"
increment="8"
initial_value="160"
label="Draw distance:"
label_width="90"
layout="topleft"
left="30"
max_val="512"
min_val="64"
name="DrawDistance"
top="110"
width="330" />
<text
type="string"
invisiblity_control="ShowAdvancedGraphicsSettings"
length="1"
follows="left|top"
height="12"
layout="topleft"
left_delta="330"
name="DrawDistanceMeterText2"
top_delta="0"
width="128">
m
</text>
<check_box
control_name="RenderDeferred"
invisiblity_control="ShowAdvancedGraphicsSettings"
height="16"
initial_value="true"
label="Lighting and Shadows"
layout="topleft"
left="30"
name="UseLightShaders2"
top="148"
width="256">
<check_box.commit_callback
function="Pref.VertexShaderEnable" />
</check_box>
<panel
visiblity_control="ShowAdvancedGraphicsSettings"
visiblity_control="ShowAdvancedGraphicsSettings"
border="false"
follows="top|left"
follows="top|left"
height="300"
label="CustomGraphics"
layout="topleft"
@ -219,15 +295,15 @@
left_delta="0"
name="BumpShiny"
top_pad="1"
width="256" />
width="256" />
<check_box
control_name="RenderLocalLights"
height="16"
initial_value="true"
label="Local Lights"
layout="topleft"
left_delta="0"
name="LocalLights"
control_name="RenderLocalLights"
height="16"
initial_value="true"
label="Local Lights"
layout="topleft"
left_delta="0"
name="LocalLights"
top_pad="1"
width="256" />
<check_box