SL-10279: Temp fix for stale estate info when editing parcel environment.

master
Rider Linden 2019-01-02 17:10:15 -08:00
parent 5fe626afab
commit d607d81dba
6 changed files with 44 additions and 3 deletions

View File

@ -315,6 +315,21 @@ LLRect LLMultiSlider::getSliderThumbRect(const std::string& name) const
return LLRect();
}
void LLMultiSlider::setSliderThumbImage(const std::string &name)
{
if (!name.empty())
{
mThumbImagep = LLUI::getUIImage(name);
}
else
clearSliderThumbImage();
}
void LLMultiSlider::clearSliderThumbImage()
{
mThumbImagep = NULL;
}
void LLMultiSlider::resetCurSlider()
{
mCurSlider = LLStringUtil::null;

View File

@ -82,6 +82,10 @@ public:
F32 getSliderValueFromPos(S32 xpos, S32 ypos) const;
LLRect getSliderThumbRect(const std::string& name) const;
void setSliderThumbImage(const std::string &name);
void clearSliderThumbImage();
const std::string& getCurSlider() const { return mCurSlider; }
F32 getCurSliderValue() const { return getSliderValue(mCurSlider); }
void setCurSlider(const std::string& name);
@ -113,6 +117,7 @@ public:
F32 getOverlapThreshold() { return mOverlapThreshold; }
bool canAddSliders() { return mValue.size() < mMaxNumSliders; }
protected:
LLSD mValue;
std::string mCurSlider;

View File

@ -110,6 +110,9 @@ public:
F32 getSliderValueFromPos(S32 x, S32 y) const { return mMultiSlider->getSliderValueFromPos(x, y); }
LLRect getSliderThumbRect(const std::string &name) const { return mMultiSlider->getSliderThumbRect(name); }
void setSliderThumbImage(const std::string &name) { mMultiSlider->setSliderThumbImage(name); }
void clearSliderThumbImage() { mMultiSlider->clearSliderThumbImage(); }
/// for adding and deleting sliders
const std::string& addSlider();
const std::string& addSlider(F32 val);

View File

@ -965,6 +965,11 @@ void LLFloaterEditExtDayCycle::selectTrack(U32 track_index, bool force )
bool show_water = (mCurrentTrack == LLSettingsDay::TRACK_WATER);
mSkyTabLayoutContainer->setVisible(!show_water);
mWaterTabLayoutContainer->setVisible(show_water);
std::string iconname = (show_water) ? "Inv_SettingsWater" : "Inv_SettingsSky";
mFramesSlider->setSliderThumbImage(iconname);
updateSlider();
updateLabels();
}

View File

@ -130,7 +130,7 @@ LLPanelEnvironmentInfo::LLPanelEnvironmentInfo():
mCurEnvVersion(INVALID_PARCEL_ENVIRONMENT_VERSION),
mSettingsFloater(),
mEditFloater(),
mAllowOverride(false)
mAllowOverride(true)
{
}
@ -283,9 +283,21 @@ void LLPanelEnvironmentInfo::refresh()
void LLPanelEnvironmentInfo::refreshFromEstate()
{
/*TODO: Bug!! estate_info seems stale if regain floater has not been opened.*/
const LLEstateInfoModel& estate_info = LLEstateInfoModel::instance();
mAllowOverride = estate_info.getAllowEnvironmentOverride();
if (isRegion())
{ // this should always work... but estate_info gives back false when it shouldn't for parcels
bool oldAO = mAllowOverride;
mAllowOverride = estate_info.getAllowEnvironmentOverride();
if (oldAO != mAllowOverride)
refresh();
}
else
{
// Get rid of this when I solve the above.
mAllowOverride = true;
}
}
std::string LLPanelEnvironmentInfo::getInventoryNameForAssetId(LLUUID asset_id)

View File

@ -241,7 +241,7 @@
<multi_slider
decimal_digits="0"
follows="bottom"
height="10"
height="12"
increment="0.005"
overlap_threshold="0.026"
loop_overlap="true"
@ -252,6 +252,7 @@
max_val="1"
name="WLDayCycleFrames"
show_text="false"
thumb_width="12"
top_pad="15"
width="525" />