summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llpanelenvironment.cpp23
-rw-r--r--indra/newview/llpanelenvironment.h2
-rw-r--r--indra/newview/skins/default/xui/en/panel_region_environment.xml10
3 files changed, 35 insertions, 0 deletions
diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp
index a324dfb93b..abd1913185 100644
--- a/indra/newview/llpanelenvironment.cpp
+++ b/indra/newview/llpanelenvironment.cpp
@@ -68,6 +68,7 @@ namespace
const std::string LLPanelEnvironmentInfo::BTN_SELECTINV("btn_select_inventory");
const std::string LLPanelEnvironmentInfo::BTN_EDIT("btn_edit");
const std::string LLPanelEnvironmentInfo::BTN_USEDEFAULT("btn_usedefault");
+const std::string LLPanelEnvironmentInfo::BTN_RST_ALTITUDES("btn_rst_altitudes");
const std::string LLPanelEnvironmentInfo::SLD_DAYLENGTH("sld_day_length");
const std::string LLPanelEnvironmentInfo::SLD_DAYOFFSET("sld_day_offset");
const std::string LLPanelEnvironmentInfo::SLD_ALTITUDES("sld_altitudes");
@@ -105,6 +106,7 @@ const U32 LLPanelEnvironmentInfo::DIRTY_FLAG_MASK(
LLPanelEnvironmentInfo::DIRTY_FLAG_ALTITUDES);
const U32 ALTITUDE_SLIDER_COUNT = 3;
+const F32 ALTITUDE_DEFAULT_HEIGHT_STEP = 1000;
const std::string alt_sliders[] = {
"sld1",
@@ -161,6 +163,7 @@ BOOL LLPanelEnvironmentInfo::postBuild()
getChild<LLUICtrl>(BTN_USEDEFAULT)->setCommitCallback([this](LLUICtrl *, const LLSD &){ onBtnDefault(); });
getChild<LLUICtrl>(BTN_SELECTINV)->setCommitCallback([this](LLUICtrl *, const LLSD &){ onBtnSelect(); });
getChild<LLUICtrl>(BTN_EDIT)->setCommitCallback([this](LLUICtrl *, const LLSD &){ onBtnEdit(); });
+ getChild<LLUICtrl>(BTN_RST_ALTITUDES)->setCommitCallback([this](LLUICtrl *, const LLSD &){ onBtnRstAltitudes(); });
getChild<LLUICtrl>(SLD_DAYLENGTH)->setCommitCallback([this](LLUICtrl *, const LLSD &value) { onSldDayLengthChanged(value.asReal()); });
getChild<LLSliderCtrl>(SLD_DAYLENGTH)->setSliderMouseUpCallback([this](LLUICtrl *, const LLSD &) { onDayLenOffsetMouseUp(); });
@@ -428,6 +431,7 @@ bool LLPanelEnvironmentInfo::setControlsEnabled(bool enabled)
getChild<LLUICtrl>(PNL_DISABLED)->setVisible(false);
getChild<LLUICtrl>(PNL_ENVIRONMENT_ALTITUDES)->setVisible(LLEnvironment::instance().isExtendedEnvironmentEnabled());
+ getChild<LLUICtrl>(BTN_RST_ALTITUDES)->setVisible(isRegion());
bool can_enable = enabled && mCurrentEnvironment && (mCurEnvVersion != INVALID_PARCEL_ENVIRONMENT_VERSION);
getChild<LLUICtrl>(BTN_SELECTINV)->setEnabled(can_enable && !is_legacy);
@@ -437,6 +441,7 @@ bool LLPanelEnvironmentInfo::setControlsEnabled(bool enabled)
getChild<LLUICtrl>(SLD_DAYOFFSET)->setEnabled(can_enable && !is_legacy);
getChild<LLUICtrl>(SLD_ALTITUDES)->setEnabled(can_enable && isRegion() && !is_legacy);
getChild<LLUICtrl>(ICN_GROUND)->setColor((can_enable && isRegion() && !is_legacy) ? LLColor4::white : LLColor4::grey % 0.8f);
+ getChild<LLUICtrl>(BTN_RST_ALTITUDES)->setEnabled(can_enable && isRegion() && !is_legacy);
getChild<LLUICtrl>(PNL_ENVIRONMENT_ALTITUDES)->setEnabled(can_enable && isRegion() && !is_legacy);
getChild<LLUICtrl>(CHK_ALLOWOVERRIDE)->setEnabled(can_enable && isRegion() && !is_legacy);
@@ -689,6 +694,24 @@ void LLPanelEnvironmentInfo::onBtnSelect()
}
}
+void LLPanelEnvironmentInfo::onBtnRstAltitudes()
+{
+ if (isRegion())
+ {
+ LLHandle<LLPanel> that_h = getHandle();
+ LLEnvironment::altitudes_vect_t alts;
+
+ for (S32 idx = 1; idx <= ALTITUDE_SLIDER_COUNT; ++idx)
+ {
+ F32 new_height = idx * ALTITUDE_DEFAULT_HEIGHT_STEP;
+ alts.push_back(new_height);
+ }
+
+ LLEnvironment::instance().updateParcel(getParcelId(), LLSettingsDay::ptr_t(),
+ -1, -1, alts,
+ [that_h](S32 parcel_id, LLEnvironment::EnvironmentInfo::ptr_t envifo) { _onEnvironmentReceived(that_h, parcel_id, envifo); });
+ }
+}
void LLPanelEnvironmentInfo::udpateApparentTimeOfDay()
{
diff --git a/indra/newview/llpanelenvironment.h b/indra/newview/llpanelenvironment.h
index dd3a309780..18ab64dc12 100644
--- a/indra/newview/llpanelenvironment.h
+++ b/indra/newview/llpanelenvironment.h
@@ -66,6 +66,7 @@ protected:
static const std::string BTN_SELECTINV;
static const std::string BTN_EDIT;
static const std::string BTN_USEDEFAULT;
+ static const std::string BTN_RST_ALTITUDES;
static const std::string SLD_DAYLENGTH;
static const std::string SLD_DAYOFFSET;
static const std::string SLD_ALTITUDES;
@@ -117,6 +118,7 @@ protected:
void onBtnEdit();
void onBtnSelect();
void onBtnDefault();
+ void onBtnRstAltitudes();
void udpateApparentTimeOfDay();
diff --git a/indra/newview/skins/default/xui/en/panel_region_environment.xml b/indra/newview/skins/default/xui/en/panel_region_environment.xml
index eac444c971..a39973fe3a 100644
--- a/indra/newview/skins/default/xui/en/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/en/panel_region_environment.xml
@@ -203,6 +203,16 @@
tool_tip="Drag a setting from Inventory onto this target box to select it as current water."
width="155" />
</panel>
+ <button
+ follows="top|left"
+ layout="topleft"
+ height="23"
+ width="100"
+ label="Reset"
+ left_pad="-90"
+ top_pad="4"
+ tool_tip="Reset to default altitudes"
+ name="btn_rst_altitudes" />
<panel
follows="top|left"
height="21"