From 41a6504c5e121f4ee35f06adc297485d21f4d14d Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 26 Sep 2018 18:14:44 +0300 Subject: SL-983 EEP - When selecting a new parcel with the day editor open follow in editor --- indra/newview/llpanelenvironment.cpp | 13 +++++++++---- indra/newview/llpanelenvironment.h | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'indra') diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp index aa8c6cf724..20aaf258f8 100644 --- a/indra/newview/llpanelenvironment.cpp +++ b/indra/newview/llpanelenvironment.cpp @@ -232,6 +232,8 @@ void LLPanelEnvironmentInfo::refresh() udpateApparentTimeOfDay(); + updateEditFloater(mCurrentEnvironment, canEdit()); + #if 1 // hiding the controls until Rider can get the simulator code to adjust altitudes done. getChild(PNL_ENVIRONMENT_ALTITUDES)->setVisible(FALSE); @@ -312,14 +314,14 @@ LLFloaterEditExtDayCycle * LLPanelEnvironmentInfo::getEditFloater(bool create) } -void LLPanelEnvironmentInfo::updateEditFloater(const LLEnvironment::EnvironmentInfo::ptr_t &nextenv) +void LLPanelEnvironmentInfo::updateEditFloater(const LLEnvironment::EnvironmentInfo::ptr_t &nextenv, bool enable) { LLFloaterEditExtDayCycle *dayeditor(getEditFloater(false)); if (!dayeditor) return; - if (!nextenv || !nextenv->mDayCycle) + if (!nextenv || !nextenv->mDayCycle || !enable) { if (mCommitConnection.connected()) mCommitConnection.disconnect(); @@ -331,7 +333,10 @@ void LLPanelEnvironmentInfo::updateEditFloater(const LLEnvironment::EnvironmentI } else { - /*TODO: Swap in new day to edit?*/ + // Ignore dirty + // If parcel selection changed whatever we do except saving to inventory with + // old settings will be invalid. + dayeditor->setEditDayCycle(nextenv->mDayCycle); } } @@ -363,7 +368,7 @@ bool LLPanelEnvironmentInfo::setControlsEnabled(bool enabled) getChild(PNL_DISABLED)->setVisible(true); getChild(PNL_ENVIRONMENT_ALTITUDES)->setVisible(FALSE); - updateEditFloater(mCurrentEnvironment); + updateEditFloater(mCurrentEnvironment, false); return false; } diff --git a/indra/newview/llpanelenvironment.h b/indra/newview/llpanelenvironment.h index 93fe186d6f..9bc0b9df9c 100644 --- a/indra/newview/llpanelenvironment.h +++ b/indra/newview/llpanelenvironment.h @@ -132,7 +132,7 @@ protected: LLFloaterSettingsPicker * getSettingsPicker(bool create = true); LLFloaterEditExtDayCycle * getEditFloater(bool create = true); - void updateEditFloater(const LLEnvironment::EnvironmentInfo::ptr_t &nextenv); + void updateEditFloater(const LLEnvironment::EnvironmentInfo::ptr_t &nextenv, bool enable); void setCrossRegion(bool val) { mCrossRegion = val; } void setNoSelection(bool val) { mNoSelection = val; } -- cgit v1.2.3