From fa979d280609eb4e7623d92d4876ab3639a3cddc Mon Sep 17 00:00:00 2001
From: McCabe Maxsted
Date: Tue, 4 May 2010 08:30:32 -0700
Subject: Fixed preferences > advanced speedrez interval spinner not updating
---
linden/indra/newview/llprefsadvanced.cpp | 32 +++++++++++++++++++---
linden/indra/newview/llprefsadvanced.h | 2 ++
.../xui/en-us/panel_preferences_advanced.xml | 10 +++++--
3 files changed, 37 insertions(+), 7 deletions(-)
(limited to 'linden/indra')
diff --git a/linden/indra/newview/llprefsadvanced.cpp b/linden/indra/newview/llprefsadvanced.cpp
index 2ad8de2..ee90518 100644
--- a/linden/indra/newview/llprefsadvanced.cpp
+++ b/linden/indra/newview/llprefsadvanced.cpp
@@ -40,6 +40,7 @@
LLPrefsAdvanced::LLPrefsAdvanced()
{
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_advanced.xml");
+ childSetCommitCallback("speed_rez_check", onCommitCheckBox, this);
}
LLPrefsAdvanced::~LLPrefsAdvanced()
@@ -54,10 +55,12 @@ BOOL LLPrefsAdvanced::postBuild()
childSetValue("client_name_tag_check", gSavedSettings.getBOOL("ShowClientNameTag"));
childSetValue("client_name_tag_broadcast_check", gSavedSettings.getBOOL("ClothingLayerProtection"));
childSetValue("http_texture_check", gSavedSettings.getBOOL("ImagePipelineUseHTTP"));
- childSetValue("speedrez_check", gSavedSettings.getBOOL("SpeedRez"));
- childSetValue("speedrez_spinner", (F32)gSavedSettings.getU32("SpeedRezInterval"));
+ childSetValue("speed_rez_check", gSavedSettings.getBOOL("SpeedRez"));
+ childSetValue("speed_rez_interval_spinner", (F32)gSavedSettings.getU32("SpeedRezInterval"));
childSetValue("appearance_stand_check", gSavedSettings.getBOOL("AppearanceForceStand"));
+ refresh();
+
return TRUE;
}
@@ -67,8 +70,8 @@ void LLPrefsAdvanced::apply()
gSavedSettings.setBOOL("DisableTeleportScreens", childGetValue("disable_tp_screen_check"));
gSavedSettings.setBOOL("ShowClientNameTag", childGetValue("client_name_tag_check"));
gSavedSettings.setBOOL("ImagePipelineUseHTTP", childGetValue("http_texture_check"));
- gSavedSettings.setBOOL("SpeedRez", childGetValue("speedrez_check"));
- gSavedSettings.setU32("SpeedRezInterval", childGetValue("speedrez_spinner").asReal());
+ gSavedSettings.setBOOL("SpeedRez", childGetValue("speed_rez_check"));
+ gSavedSettings.setU32("SpeedRezInterval", childGetValue("speed_rez_interval_spinner").asReal());
gSavedSettings.setBOOL("AppearanceForceStand", childGetValue("appearance_stand_check"));
// Need to force a rebake when ClothingLayerProtection toggled for it take effect -- MC
@@ -119,3 +122,24 @@ void LLPrefsAdvanced::apply()
void LLPrefsAdvanced::cancel()
{
}
+
+void LLPrefsAdvanced::refresh()
+{
+ if (childGetValue("speed_rez_check").asBoolean())
+ {
+ childEnable("speed_rez_interval_spinner");
+ childEnable("speed_rez_seconds_text");
+ }
+ else
+ {
+ childDisable("speed_rez_interval_spinner");
+ childDisable("speed_rez_seconds_text");
+ }
+}
+
+//static
+void LLPrefsAdvanced::onCommitCheckBox(LLUICtrl* ctrl, void* user_data)
+{
+ LLPrefsAdvanced* self = (LLPrefsAdvanced*)user_data;
+ self->refresh();
+}
diff --git a/linden/indra/newview/llprefsadvanced.h b/linden/indra/newview/llprefsadvanced.h
index 382156e..37fd050 100644
--- a/linden/indra/newview/llprefsadvanced.h
+++ b/linden/indra/newview/llprefsadvanced.h
@@ -43,8 +43,10 @@ public:
void apply();
void cancel();
+ void refresh();
private:
+ static void onCommitCheckBox(LLUICtrl* ctrl, void* user_data);
};
#endif // LLPREFSADVANCED_H
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
index fa33055..9e19dfc 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
@@ -33,12 +33,16 @@
+ name="speed_rez_check" radio_style="false" width="217" />
+ label="Step interval every" label_width="105" left_delta="20" max_val="20"
+ min_val="1" mouse_opaque="true" name="speed_rez_interval_spinner" width="145" />
+
+ seconds
+