commit
079f5f6da9
|
|
@ -107,6 +107,10 @@ public:
|
|||
/*virtual*/ BOOL handleKeyHere(KEY key, MASK mask);
|
||||
/*virtual*/ void draw();
|
||||
|
||||
S32 getMaxNumSliders() { return mMaxNumSliders; }
|
||||
S32 getCurNumSliders() { return mValue.size(); }
|
||||
bool canAddSliders() { return mValue.size() < mMaxNumSliders; }
|
||||
|
||||
protected:
|
||||
LLSD mValue;
|
||||
std::string mCurSlider;
|
||||
|
|
|
|||
|
|
@ -118,6 +118,10 @@ public:
|
|||
F32 getMinValue() const { return mMultiSlider->getMinValue(); }
|
||||
F32 getMaxValue() const { return mMultiSlider->getMaxValue(); }
|
||||
|
||||
S32 getMaxNumSliders() { return mMultiSlider->getMaxNumSliders(); }
|
||||
S32 getCurNumSliders() { return mMultiSlider->getCurNumSliders(); }
|
||||
bool canAddSliders() { return mMultiSlider->canAddSliders(); }
|
||||
|
||||
void setLabel(const std::string& label) { if (mLabelBox) mLabelBox->setText(label); }
|
||||
void setLabelColor(const LLColor4& c) { mTextEnabledColor = c; }
|
||||
void setDisabledLabelColor(const LLColor4& c) { mTextDisabledColor = c; }
|
||||
|
|
|
|||
|
|
@ -556,6 +556,12 @@ void LLFloaterEditExtDayCycle::onAddTrack()
|
|||
LL_WARNS("ENVDAYEDIT") << "Attempt to add new frame too close to existing frame." << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
if (!mFramesSlider->canAddSliders())
|
||||
{
|
||||
// Shouldn't happen, button should be disabled
|
||||
LL_WARNS("ENVDAYEDIT") << "Attempt to add new frame when slider is full." << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
||||
if (mCurrentTrack == LLSettingsDay::TRACK_WATER)
|
||||
{
|
||||
|
|
@ -908,7 +914,7 @@ void LLFloaterEditExtDayCycle::updateButtons()
|
|||
//bool can_add = static_cast<bool>(settings);
|
||||
//mAddFrameButton->setEnabled(can_add);
|
||||
//mDeleteFrameButton->setEnabled(!can_add);
|
||||
mAddFrameButton->setEnabled(true && mCanMod);
|
||||
mAddFrameButton->setEnabled(mCanMod && mFramesSlider->canAddSliders());
|
||||
mDeleteFrameButton->setEnabled(isRemovingFrameAllowed() && mCanMod);
|
||||
}
|
||||
|
||||
|
|
@ -969,13 +975,16 @@ void LLFloaterEditExtDayCycle::addSliderFrame(const F32 frame, LLSettingsBase::p
|
|||
// multi slider distinguishes elements by key/name in string format
|
||||
// store names to map to be able to recall dependencies
|
||||
std::string new_slider = mFramesSlider->addSlider(frame);
|
||||
mSliderKeyMap[new_slider] = FrameData(frame, setting);
|
||||
|
||||
if (update_ui)
|
||||
if (!new_slider.empty())
|
||||
{
|
||||
mLastFrameSlider = new_slider;
|
||||
mTimeSlider->setCurSliderValue(frame);
|
||||
updateTabs();
|
||||
mSliderKeyMap[new_slider] = FrameData(frame, setting);
|
||||
|
||||
if (update_ui)
|
||||
{
|
||||
mLastFrameSlider = new_slider;
|
||||
mTimeSlider->setCurSliderValue(frame);
|
||||
updateTabs();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -659,6 +659,10 @@ LLParcel * LLViewerParcelMgr::getAgentOrSelectedParcel() const
|
|||
if (selection)
|
||||
{
|
||||
parcel = selection->getParcel();
|
||||
if (parcel->getLocalID() == INVALID_PARCEL_ID)
|
||||
{
|
||||
parcel = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue