SL-10166 FIXED Sky editor add/delete frame not enabling disabling correctly

master
maxim_productengine 2018-12-05 15:32:17 +02:00
parent b6fa72d3c4
commit f0afc19bee
2 changed files with 17 additions and 1 deletions

View File

@ -1020,7 +1020,7 @@ void LLFloaterEditExtDayCycle::updateButtons()
//bool can_add = static_cast<bool>(settings); //bool can_add = static_cast<bool>(settings);
//mAddFrameButton->setEnabled(can_add); //mAddFrameButton->setEnabled(can_add);
//mDeleteFrameButton->setEnabled(!can_add); //mDeleteFrameButton->setEnabled(!can_add);
mAddFrameButton->setEnabled(mCanMod && mFramesSlider->canAddSliders()); mAddFrameButton->setEnabled(isAddingFrameAllowed() && mCanMod);
mDeleteFrameButton->setEnabled(isRemovingFrameAllowed() && mCanMod); mDeleteFrameButton->setEnabled(isRemovingFrameAllowed() && mCanMod);
} }
@ -1401,6 +1401,8 @@ void LLFloaterEditExtDayCycle::doApplyCommit(LLSettingsDay::ptr_t day)
bool LLFloaterEditExtDayCycle::isRemovingFrameAllowed() bool LLFloaterEditExtDayCycle::isRemovingFrameAllowed()
{ {
if (mFramesSlider->getCurSlider().empty()) return false;
if (mCurrentTrack <= LLSettingsDay::TRACK_GROUND_LEVEL) if (mCurrentTrack <= LLSettingsDay::TRACK_GROUND_LEVEL)
{ {
return (mSliderKeyMap.size() > 1); return (mSliderKeyMap.size() > 1);
@ -1411,6 +1413,18 @@ bool LLFloaterEditExtDayCycle::isRemovingFrameAllowed()
} }
} }
bool LLFloaterEditExtDayCycle::isAddingFrameAllowed()
{
if (!mFramesSlider->getCurSlider().empty()) return false;
LLSettingsBase::Seconds frame(mTimeSlider->getCurSliderValue());
if ((mEditDay->getSettingsNearKeyframe(frame, mCurrentTrack, LLSettingsDay::DEFAULT_FRAME_SLOP_FACTOR)).second)
{
return false;
}
return mFramesSlider->canAddSliders();
}
void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results) void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results)
{ {
LL_INFOS("ENVDAYEDIT") << "Inventory item " << inventory_id << " has been created with asset " << asset_id << " results are:" << results << LL_ENDL; LL_INFOS("ENVDAYEDIT") << "Inventory item " << inventory_id << " has been created with asset " << asset_id << " results are:" << results << LL_ENDL;
@ -1536,6 +1550,7 @@ void LLFloaterEditExtDayCycle::onIdlePlay(void* user_data)
self->mWaterBlender->setPosition(new_frame); self->mWaterBlender->setPosition(new_frame);
self->synchronizeTabs(); self->synchronizeTabs();
self->updateTimeAndLabel(); self->updateTimeAndLabel();
self->updateButtons();
} }
} }

View File

@ -173,6 +173,7 @@ private:
virtual void clearDirtyFlag(); virtual void clearDirtyFlag();
bool isRemovingFrameAllowed(); bool isRemovingFrameAllowed();
bool isAddingFrameAllowed();
LLSettingsDay::ptr_t mEditDay; // edited copy LLSettingsDay::ptr_t mEditDay; // edited copy
LLSettingsDay::Seconds mDayLength; LLSettingsDay::Seconds mDayLength;