From 5e544ee35d70fa9e27774ba30ccae06aa6d4d5f9 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Tue, 23 Jan 2018 12:03:03 -0800
Subject: Adding a couple files that got skipped.

---
 indra/newview/llfloatereditextdaycycle.h | 135 +++++++++++++++++++++++++++++++
 1 file changed, 135 insertions(+)
 create mode 100644 indra/newview/llfloatereditextdaycycle.h

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
new file mode 100644
index 0000000000..bed5db14b2
--- /dev/null
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -0,0 +1,135 @@
+/** 
+ * @file llfloatereditextdaycycle.h
+ * @brief Floater to create or edit a day cycle
+ *
+ * $LicenseInfo:firstyear=2011&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLFLOATEREDITEXTDAYCYCLE_H
+#define LL_LLFLOATEREDITEXTDAYCYCLE_H
+
+#include "llfloater.h"
+
+class LLCheckBoxCtrl;
+class LLComboBox;
+class LLLineEditor;
+class LLMultiSliderCtrl;
+class LLTimeCtrl;
+
+/**
+ * Floater for creating or editing a day cycle.
+ */
+class LLFloaterEditExtDayCycle : public LLFloater
+{
+	LOG_CLASS(LLFloaterEditExtDayCycle);
+
+public:
+	LLFloaterEditExtDayCycle(const LLSD &key);
+
+	/*virtual*/	BOOL	postBuild();
+	/*virtual*/ void	onOpen(const LLSD& key);
+	/*virtual*/ void	onClose(bool app_quitting);
+	/*virtual*/ void	draw();
+
+private:
+
+	/// sync the time slider with day cycle structure
+	void syncTimeSlider();
+
+	// 	makes sure key slider has what's in day cycle
+	void loadTrack();
+
+	/// makes sure day cycle data structure has what's in menu
+	void applyTrack();
+
+	/// refresh the sky presets combobox
+	void refreshSkyPresetsList();
+
+	/// refresh the day cycle combobox
+	void refreshDayCyclesList();
+
+	/// add a slider to the track
+//	void addSliderKey(F32 time, LLWLParamKey keyframe);
+
+	void initCallbacks();
+//	LLWLParamKey getSelectedDayCycle();
+	bool isNewDay() const;
+	void dumpTrack();
+	void enableEditing(bool enable);
+	void reset();
+	void saveRegionDayCycle();
+
+	void setApplyProgress(bool started);
+	bool getApplyProgress() const;
+
+	void onTimeSliderMoved();	/// time slider moved
+	void onKeyTimeMoved();		/// a key frame moved
+	void onKeyTimeChanged();	/// a key frame's time changed
+	void onKeyPresetChanged();	/// sky preset selected
+	void onAddKey();			/// new key added on slider
+	void onDeleteKey();			/// a key frame deleted
+
+	void onRegionSettingsChange();
+	void onRegionChange();
+	void onRegionSettingsApplied(bool success);
+	void onRegionInfoUpdate();
+
+	void onDayCycleNameEdited();
+	void onDayCycleSelected();
+	void onBtnSave();
+	void onBtnCancel();
+
+	bool onSaveAnswer(const LLSD& notification, const LLSD& response);
+	void onSaveConfirmed();
+
+	void onDayCycleListChange();
+	void onSkyPresetListChange();
+
+	static std::string getRegionName();
+
+	/// convenience class for holding keyframes mapped to sliders
+// 	struct SliderKey
+// 	{
+// 	public:
+// 		SliderKey(LLWLParamKey kf, F32 t) : keyframe(kf), time(t) {}
+// 		SliderKey() : keyframe(), time(0.f) {} // Don't use this default constructor
+// 
+// 		LLWLParamKey keyframe;
+// 		F32 time;
+// 	};
+
+	static const F32 sHoursPerDay;
+
+	LLLineEditor*		mDayCycleNameEditor;
+	LLComboBox*			mDayCyclesCombo;
+	LLMultiSliderCtrl*	mTimeSlider;
+	LLMultiSliderCtrl*	mKeysSlider;
+	LLComboBox*			mSkyPresetsCombo;
+	LLTimeCtrl*			mTimeCtrl;
+	LLCheckBoxCtrl*		mMakeDefaultCheckBox;
+	LLButton*			mSaveButton;
+
+	// map of sliders to parameters
+//	std::map<std::string, SliderKey> mSliderToKey;
+};
+
+#endif // LL_LLFloaterEditExtDayCycle_H
-- 
cgit v1.2.3


From 536aeb54a6130f3d1e20405c8f6cbd29201de26d Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Tue, 23 Jan 2018 17:34:25 -0800
Subject: MAINT-8052: One more step towards parcel environments.

---
 indra/newview/llfloatereditextdaycycle.h | 146 ++++++++++++++++---------------
 1 file changed, 75 insertions(+), 71 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index bed5db14b2..8b5a087edb 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -28,6 +28,8 @@
 #define LL_LLFLOATEREDITEXTDAYCYCLE_H
 
 #include "llfloater.h"
+#include "llsettingsdaycycle.h"
+#include <boost/signals2.hpp>
 
 class LLCheckBoxCtrl;
 class LLComboBox;
@@ -43,90 +45,92 @@ class LLFloaterEditExtDayCycle : public LLFloater
 	LOG_CLASS(LLFloaterEditExtDayCycle);
 
 public:
-	LLFloaterEditExtDayCycle(const LLSD &key);
-
-	/*virtual*/	BOOL	postBuild();
-	/*virtual*/ void	onOpen(const LLSD& key);
-	/*virtual*/ void	onClose(bool app_quitting);
-	/*virtual*/ void	draw();
-
-private:
-
-	/// sync the time slider with day cycle structure
-	void syncTimeSlider();
-
-	// 	makes sure key slider has what's in day cycle
-	void loadTrack();
+    typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)>            edit_commit_signal_t;
+    typedef boost::signals2::connection     connection_t;
 
-	/// makes sure day cycle data structure has what's in menu
-	void applyTrack();
+	LLFloaterEditExtDayCycle(const LLSD &key);
 
-	/// refresh the sky presets combobox
-	void refreshSkyPresetsList();
+    BOOL	postBuild();
+ 	void	onOpen(const LLSD& key);
+ 	void	onClose(bool app_quitting);
 
-	/// refresh the day cycle combobox
-	void refreshDayCyclesList();
+    void    onVisibilityChange(BOOL new_visibility);
 
-	/// add a slider to the track
-//	void addSliderKey(F32 time, LLWLParamKey keyframe);
+// 	/*virtual*/ void	draw();
+    connection_t setEditCommitSignal(edit_commit_signal_t::slot_type cb);
 
-	void initCallbacks();
-//	LLWLParamKey getSelectedDayCycle();
-	bool isNewDay() const;
-	void dumpTrack();
-	void enableEditing(bool enable);
-	void reset();
-	void saveRegionDayCycle();
+private:
 
-	void setApplyProgress(bool started);
-	bool getApplyProgress() const;
+// 	/// sync the time slider with day cycle structure
+// 	void syncTimeSlider();
+// 
+// 	// 	makes sure key slider has what's in day cycle
+// 	void loadTrack();
+// 
+// 	/// makes sure day cycle data structure has what's in menu
+// 	void applyTrack();
+// 
+// 	/// refresh the sky presets combobox
+    void refreshSkyPresetsList();
 
-	void onTimeSliderMoved();	/// time slider moved
-	void onKeyTimeMoved();		/// a key frame moved
-	void onKeyTimeChanged();	/// a key frame's time changed
-	void onKeyPresetChanged();	/// sky preset selected
-	void onAddKey();			/// new key added on slider
-	void onDeleteKey();			/// a key frame deleted
+    void onDayPresetChanged();	/// sky preset selected
 
-	void onRegionSettingsChange();
-	void onRegionChange();
-	void onRegionSettingsApplied(bool success);
-	void onRegionInfoUpdate();
+    void onBtnSave();
+    void onBtnCancel();
 
-	void onDayCycleNameEdited();
-	void onDayCycleSelected();
-	void onBtnSave();
-	void onBtnCancel();
+// 	/// refresh the day cycle combobox
+// 	void refreshDayCyclesList();
+// 
+// 	/// add a slider to the track
+// //	void addSliderKey(F32 time, LLWLParamKey keyframe);
+// 
+// 	void initCallbacks();
+// //	LLWLParamKey getSelectedDayCycle();
+// 	bool isNewDay() const;
+// 	void dumpTrack();
+// 	void enableEditing(bool enable);
+// 	void reset();
+// 	void saveRegionDayCycle();
+// 
+// 	void setApplyProgress(bool started);
+// 	bool getApplyProgress() const;
+// 
+// 	void onTimeSliderMoved();	/// time slider moved
+// 	void onKeyTimeMoved();		/// a key frame moved
+// 	void onKeyTimeChanged();	/// a key frame's time changed
+// 	void onAddKey();			/// new key added on slider
+// 	void onDeleteKey();			/// a key frame deleted
+// 
+// 	void onRegionSettingsChange();
+// 	void onRegionChange();
+// 	void onRegionSettingsApplied(bool success);
+// 	void onRegionInfoUpdate();
+// 
+// 	void onDayCycleNameEdited();
+// 	void onDayCycleSelected();
+// 
+// 	bool onSaveAnswer(const LLSD& notification, const LLSD& response);
+// 	void onSaveConfirmed();
+// 
+// 	void onDayCycleListChange();
+// 	void onSkyPresetListChange();
+// 
+// 	static std::string getRegionName();
 
-	bool onSaveAnswer(const LLSD& notification, const LLSD& response);
-	void onSaveConfirmed();
+    LLSettingsDay::ptr_t    mSavedDay;
+    LLSettingsDay::ptr_t    mEditDay;
 
-	void onDayCycleListChange();
-	void onSkyPresetListChange();
+    LLComboBox*			mDayPresetsCombo;
+    LLButton*			mSaveButton;
+    LLButton*			mCancelButton;
 
-	static std::string getRegionName();
+    edit_commit_signal_t    mCommitSignal;
 
-	/// convenience class for holding keyframes mapped to sliders
-// 	struct SliderKey
-// 	{
-// 	public:
-// 		SliderKey(LLWLParamKey kf, F32 t) : keyframe(kf), time(t) {}
-// 		SliderKey() : keyframe(), time(0.f) {} // Don't use this default constructor
-// 
-// 		LLWLParamKey keyframe;
-// 		F32 time;
-// 	};
-
-	static const F32 sHoursPerDay;
-
-	LLLineEditor*		mDayCycleNameEditor;
-	LLComboBox*			mDayCyclesCombo;
-	LLMultiSliderCtrl*	mTimeSlider;
-	LLMultiSliderCtrl*	mKeysSlider;
-	LLComboBox*			mSkyPresetsCombo;
-	LLTimeCtrl*			mTimeCtrl;
-	LLCheckBoxCtrl*		mMakeDefaultCheckBox;
-	LLButton*			mSaveButton;
+//	LLComboBox*			mDayCyclesCombo;
+// 	LLMultiSliderCtrl*	mTimeSlider;
+// 	LLMultiSliderCtrl*	mKeysSlider;
+    // 	LLTimeCtrl*			mTimeCtrl;
+// 	LLCheckBoxCtrl*		mMakeDefaultCheckBox;
 
 	// map of sliders to parameters
 //	std::map<std::string, SliderKey> mSliderToKey;
-- 
cgit v1.2.3


From b766466b3013e39831bcfcaef5d1089c07202afb Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Mon, 26 Feb 2018 09:27:14 -0800
Subject: Added settings inventory object with subtype

---
 indra/newview/llfloatereditextdaycycle.h | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 8b5a087edb..18d0ce2259 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -54,6 +54,10 @@ public:
  	void	onOpen(const LLSD& key);
  	void	onClose(bool app_quitting);
 
+
+    /*TEMP*/
+    void    onUpload();
+
     void    onVisibilityChange(BOOL new_visibility);
 
 // 	/*virtual*/ void	draw();
@@ -123,6 +127,7 @@ private:
     LLComboBox*			mDayPresetsCombo;
     LLButton*			mSaveButton;
     LLButton*			mCancelButton;
+    LLButton*           mUploadButton;
 
     edit_commit_signal_t    mCommitSignal;
 
-- 
cgit v1.2.3


From cef4e29b901c5a8964e53ec3eb6659faeea0059a Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Fri, 11 May 2018 20:10:08 +0300
Subject: MAINT-8344 Day cycle editor (part 1)

---
 indra/newview/llfloatereditextdaycycle.h | 38 +++++++++++++++++++++++++-------
 1 file changed, 30 insertions(+), 8 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 18d0ce2259..a9004087c9 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -37,6 +37,18 @@ class LLLineEditor;
 class LLMultiSliderCtrl;
 class LLTimeCtrl;
 
+typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t;
+
+class SliderKey
+{
+public:
+	SliderKey(LLSettingsBasePtr_t kf, F32 t) : keyframe(kf), time(t) {}
+
+	LLSettingsBasePtr_t keyframe;
+	F32 time;
+};
+
+
 /**
  * Floater for creating or editing a day cycle.
  */
@@ -75,18 +87,26 @@ private:
 // 	void applyTrack();
 // 
 // 	/// refresh the sky presets combobox
-    void refreshSkyPresetsList();
 
-    void onDayPresetChanged();	/// sky preset selected
+	void onBtnSave();
+	void onBtnCancel();
+	void onAddTrack();
+	void onRemoveTrack();
+	void onCommitName(class LLLineEditor* caller, void* user_data);
+	void onTrackSelectionCallback(const LLSD& user_data);
 
-    void onBtnSave();
-    void onBtnCancel();
+	void selectTrack(U32 track_index);
+	void updateTabs();
+	void updateSkyTabs();
+	void updateWaterTabs();
+	void updateSlider(); //track->slider
+	//void updateTrack(); // slider->track, todo: better name
 
 // 	/// refresh the day cycle combobox
 // 	void refreshDayCyclesList();
 // 
 // 	/// add a slider to the track
-// //	void addSliderKey(F32 time, LLWLParamKey keyframe);
+	void addSliderKey(F32 time, const LLSettingsBasePtr_t key);
 // 
 // 	void initCallbacks();
 // //	LLWLParamKey getSelectedDayCycle();
@@ -123,8 +143,8 @@ private:
 
     LLSettingsDay::ptr_t    mSavedDay;
     LLSettingsDay::ptr_t    mEditDay;
+	U32 mCurrentTrack;
 
-    LLComboBox*			mDayPresetsCombo;
     LLButton*			mSaveButton;
     LLButton*			mCancelButton;
     LLButton*           mUploadButton;
@@ -133,12 +153,14 @@ private:
 
 //	LLComboBox*			mDayCyclesCombo;
 // 	LLMultiSliderCtrl*	mTimeSlider;
-// 	LLMultiSliderCtrl*	mKeysSlider;
+    LLMultiSliderCtrl*  mKeysSlider;
+    LLView*             mSkyTabContainer;
+    LLView*             mWaterTabContainer;
     // 	LLTimeCtrl*			mTimeCtrl;
 // 	LLCheckBoxCtrl*		mMakeDefaultCheckBox;
 
 	// map of sliders to parameters
-//	std::map<std::string, SliderKey> mSliderToKey;
+	std::map<std::string, SliderKey> mSliderToKey;
 };
 
 #endif // LL_LLFloaterEditExtDayCycle_H
-- 
cgit v1.2.3


From 28d0fa0c69cc5d45844f9f542d99d04bbded16ad Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Wed, 16 May 2018 20:25:42 +0300
Subject: MAINT-8344 Day cycle editor (part 2)

---
 indra/newview/llfloatereditextdaycycle.h | 43 ++++++++++++++------------------
 1 file changed, 19 insertions(+), 24 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index a9004087c9..c67cfdd274 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -35,20 +35,11 @@ class LLCheckBoxCtrl;
 class LLComboBox;
 class LLLineEditor;
 class LLMultiSliderCtrl;
+class LLTextBox;
 class LLTimeCtrl;
 
 typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t;
 
-class SliderKey
-{
-public:
-	SliderKey(LLSettingsBasePtr_t kf, F32 t) : keyframe(kf), time(t) {}
-
-	LLSettingsBasePtr_t keyframe;
-	F32 time;
-};
-
-
 /**
  * Floater for creating or editing a day cycle.
  */
@@ -94,19 +85,22 @@ private:
 	void onRemoveTrack();
 	void onCommitName(class LLLineEditor* caller, void* user_data);
 	void onTrackSelectionCallback(const LLSD& user_data);
+	void onTimeSliderMoved();	/// time slider moved
+	void onFrameSliderCallback();		/// a frame moved or frame selection changed
 
 	void selectTrack(U32 track_index);
 	void updateTabs();
 	void updateSkyTabs();
 	void updateWaterTabs();
-	void updateSlider(); //track->slider
+	void updateSlider(); //track to slider
+	void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t setting);
+	void removeCurrentSliderFrame();
 	//void updateTrack(); // slider->track, todo: better name
 
 // 	/// refresh the day cycle combobox
 // 	void refreshDayCyclesList();
 // 
 // 	/// add a slider to the track
-	void addSliderKey(F32 time, const LLSettingsBasePtr_t key);
 // 
 // 	void initCallbacks();
 // //	LLWLParamKey getSelectedDayCycle();
@@ -119,8 +113,6 @@ private:
 // 	void setApplyProgress(bool started);
 // 	bool getApplyProgress() const;
 // 
-// 	void onTimeSliderMoved();	/// time slider moved
-// 	void onKeyTimeMoved();		/// a key frame moved
 // 	void onKeyTimeChanged();	/// a key frame's time changed
 // 	void onAddKey();			/// new key added on slider
 // 	void onDeleteKey();			/// a key frame deleted
@@ -143,7 +135,10 @@ private:
 
     LLSettingsDay::ptr_t    mSavedDay;
     LLSettingsDay::ptr_t    mEditDay;
-	U32 mCurrentTrack;
+    S64Seconds              mDayLength;
+    S64Seconds              mDayOffset;
+    U32                     mCurrentTrack;
+    std::string             mLastFrameSlider;
 
     LLButton*			mSaveButton;
     LLButton*			mCancelButton;
@@ -151,16 +146,16 @@ private:
 
     edit_commit_signal_t    mCommitSignal;
 
-//	LLComboBox*			mDayCyclesCombo;
-// 	LLMultiSliderCtrl*	mTimeSlider;
-    LLMultiSliderCtrl*  mKeysSlider;
-    LLView*             mSkyTabContainer;
-    LLView*             mWaterTabContainer;
-    // 	LLTimeCtrl*			mTimeCtrl;
-// 	LLCheckBoxCtrl*		mMakeDefaultCheckBox;
+    LLMultiSliderCtrl*	mTimeSlider;
+    LLMultiSliderCtrl*  mFramesSlider;
+    LLView*             mSkyTabLayoutContainer;
+    LLView*             mWaterTabLayoutContainer;
+    LLTextBox*          mCurrentTimeLabel;
 
-	// map of sliders to parameters
-	std::map<std::string, SliderKey> mSliderToKey;
+    // map of sliders to parameters
+    typedef std::pair<F32, LLSettingsBase::ptr_t> framedata_t;
+    typedef std::map<std::string, framedata_t> keymap_t;
+    keymap_t mSliderKeyMap;
 };
 
 #endif // LL_LLFloaterEditExtDayCycle_H
-- 
cgit v1.2.3


From e4973e0f92b524e7f9c2d10745f4c5e3a8557284 Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Fri, 18 May 2018 21:09:42 +0300
Subject: MAINT-8344 Day Cycle Editor (part 3)

---
 indra/newview/llfloatereditextdaycycle.h | 69 ++++++++++----------------------
 1 file changed, 21 insertions(+), 48 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index c67cfdd274..46b34de5c7 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -37,6 +37,7 @@ class LLLineEditor;
 class LLMultiSliderCtrl;
 class LLTextBox;
 class LLTimeCtrl;
+//class LLFlyoutComboBtnCtrl;
 
 typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t;
 
@@ -52,15 +53,14 @@ public:
     typedef boost::signals2::connection     connection_t;
 
 	LLFloaterEditExtDayCycle(const LLSD &key);
+    ~LLFloaterEditExtDayCycle();
+
+    void openFloater(LLSettingsDay::ptr_t settings, S64Seconds daylength = S64Seconds(0), S64Seconds dayoffset = S64Seconds(0));
 
     BOOL	postBuild();
- 	void	onOpen(const LLSD& key);
+    void	onOpen(const LLSD& key);
  	void	onClose(bool app_quitting);
 
-
-    /*TEMP*/
-    void    onUpload();
-
     void    onVisibilityChange(BOOL new_visibility);
 
 // 	/*virtual*/ void	draw();
@@ -79,8 +79,10 @@ private:
 // 
 // 	/// refresh the sky presets combobox
 
+//    void onButtonApply(LLUICtrl *ctrl, const LLSD &data);
 	void onBtnSave();
 	void onBtnCancel();
+	void onBtnUpload();
 	void onAddTrack();
 	void onRemoveTrack();
 	void onCommitName(class LLLineEditor* caller, void* user_data);
@@ -89,49 +91,16 @@ private:
 	void onFrameSliderCallback();		/// a frame moved or frame selection changed
 
 	void selectTrack(U32 track_index);
+	void clearTabs();
 	void updateTabs();
-	void updateSkyTabs();
-	void updateWaterTabs();
+	void updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
+	void updateSkyTabs(const LLSettingsSkyPtr_t &p_sky);
+	void updateButtons();
 	void updateSlider(); //track to slider
+	void updateTimeAndLabel();
 	void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t setting);
 	void removeCurrentSliderFrame();
-	//void updateTrack(); // slider->track, todo: better name
 
-// 	/// refresh the day cycle combobox
-// 	void refreshDayCyclesList();
-// 
-// 	/// add a slider to the track
-// 
-// 	void initCallbacks();
-// //	LLWLParamKey getSelectedDayCycle();
-// 	bool isNewDay() const;
-// 	void dumpTrack();
-// 	void enableEditing(bool enable);
-// 	void reset();
-// 	void saveRegionDayCycle();
-// 
-// 	void setApplyProgress(bool started);
-// 	bool getApplyProgress() const;
-// 
-// 	void onKeyTimeChanged();	/// a key frame's time changed
-// 	void onAddKey();			/// new key added on slider
-// 	void onDeleteKey();			/// a key frame deleted
-// 
-// 	void onRegionSettingsChange();
-// 	void onRegionChange();
-// 	void onRegionSettingsApplied(bool success);
-// 	void onRegionInfoUpdate();
-// 
-// 	void onDayCycleNameEdited();
-// 	void onDayCycleSelected();
-// 
-// 	bool onSaveAnswer(const LLSD& notification, const LLSD& response);
-// 	void onSaveConfirmed();
-// 
-// 	void onDayCycleListChange();
-// 	void onSkyPresetListChange();
-// 
-// 	static std::string getRegionName();
 
     LLSettingsDay::ptr_t    mSavedDay;
     LLSettingsDay::ptr_t    mEditDay;
@@ -140,11 +109,11 @@ private:
     U32                     mCurrentTrack;
     std::string             mLastFrameSlider;
 
-    LLButton*			mSaveButton;
-    LLButton*			mCancelButton;
+    LLButton*           mSaveButton;
+    LLButton*           mCancelButton;
     LLButton*           mUploadButton;
-
-    edit_commit_signal_t    mCommitSignal;
+    LLButton*           mAddFrameButton;
+    LLButton*           mDeleteFrameButton;
 
     LLMultiSliderCtrl*	mTimeSlider;
     LLMultiSliderCtrl*  mFramesSlider;
@@ -152,10 +121,14 @@ private:
     LLView*             mWaterTabLayoutContainer;
     LLTextBox*          mCurrentTimeLabel;
 
+//    LLFlyoutComboBtnCtrl *      mFlyoutControl; // not a View!
+
+    edit_commit_signal_t    mCommitSignal;
+
     // map of sliders to parameters
     typedef std::pair<F32, LLSettingsBase::ptr_t> framedata_t;
     typedef std::map<std::string, framedata_t> keymap_t;
-    keymap_t mSliderKeyMap;
+    keymap_t mSliderKeyMap; //slider keys[old_frames], shadows mFramesSlider
 };
 
 #endif // LL_LLFloaterEditExtDayCycle_H
-- 
cgit v1.2.3


From 4c1a633c232880f4ac6e01807f1084e5d5c68b1e Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Fri, 18 May 2018 13:27:11 -0700
Subject: Day cycle editor changes for loading settings.  (Not complete)

---
 indra/newview/llfloatereditextdaycycle.h | 40 +++++++++++++++++++++++++-------
 1 file changed, 31 insertions(+), 9 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index c67cfdd274..3185644df9 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -48,6 +48,13 @@ class LLFloaterEditExtDayCycle : public LLFloater
 	LOG_CLASS(LLFloaterEditExtDayCycle);
 
 public:
+    // **RIDER**
+    static const std::string KEY_INVENTORY_ID;
+    static const std::string KEY_LIVE_ENVIRONMENT;
+    static const std::string KEY_DAY_LENGTH;
+    static const std::string KEY_DAY_OFFSET;
+    // **RIDER**
+
     typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)>            edit_commit_signal_t;
     typedef boost::signals2::connection     connection_t;
 
@@ -97,6 +104,16 @@ private:
 	void removeCurrentSliderFrame();
 	//void updateTrack(); // slider->track, todo: better name
 
+    // **RIDER**
+    void loadInventoryItem(const LLUUID  &inventoryId);
+    void onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
+    void loadLiveEnvironment(LLEnvironment::EnvSelection_t env);
+
+    void updateEditEnvironment();
+    void syncronizeTabs();
+    // **RIDER**
+
+
 // 	/// refresh the day cycle combobox
 // 	void refreshDayCyclesList();
 // 
@@ -133,24 +150,29 @@ private:
 // 
 // 	static std::string getRegionName();
 
-    LLSettingsDay::ptr_t    mSavedDay;
     LLSettingsDay::ptr_t    mEditDay;
     S64Seconds              mDayLength;
     S64Seconds              mDayOffset;
     U32                     mCurrentTrack;
     std::string             mLastFrameSlider;
 
-    LLButton*			mSaveButton;
-    LLButton*			mCancelButton;
-    LLButton*           mUploadButton;
+    LLButton*			    mSaveButton;
+    LLButton*			    mCancelButton;
+    LLButton*               mUploadButton;
 
     edit_commit_signal_t    mCommitSignal;
 
-    LLMultiSliderCtrl*	mTimeSlider;
-    LLMultiSliderCtrl*  mFramesSlider;
-    LLView*             mSkyTabLayoutContainer;
-    LLView*             mWaterTabLayoutContainer;
-    LLTextBox*          mCurrentTimeLabel;
+    LLMultiSliderCtrl*	    mTimeSlider;
+    LLMultiSliderCtrl*      mFramesSlider;
+    LLView*                 mSkyTabLayoutContainer;
+    LLView*                 mWaterTabLayoutContainer;
+    LLTextBox*              mCurrentTimeLabel;
+
+    // **RIDER**
+    LLUUID                  mInventoryId;
+    LLInventoryItem *       mInventoryItem;
+    LLEnvironment::EnvSelection_t mEditingEnv;
+    // **RIDER**
 
     // map of sliders to parameters
     typedef std::pair<F32, LLSettingsBase::ptr_t> framedata_t;
-- 
cgit v1.2.3


From b6ba9dd565b59e516571445e56f9dafe3bdf4061 Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Tue, 22 May 2018 20:32:56 +0300
Subject: MAINT-8344 Day Cycle Editor (part 4, finalization)

---
 indra/newview/llfloatereditextdaycycle.h | 64 +++++++++++++++++---------------
 1 file changed, 34 insertions(+), 30 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 46b34de5c7..0b48b51b5d 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -33,11 +33,11 @@
 
 class LLCheckBoxCtrl;
 class LLComboBox;
+class LLFlyoutComboBtnCtrl;
 class LLLineEditor;
 class LLMultiSliderCtrl;
 class LLTextBox;
 class LLTimeCtrl;
-//class LLFlyoutComboBtnCtrl;
 
 typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t;
 
@@ -52,66 +52,63 @@ public:
     typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)>            edit_commit_signal_t;
     typedef boost::signals2::connection     connection_t;
 
-	LLFloaterEditExtDayCycle(const LLSD &key);
+    LLFloaterEditExtDayCycle(const LLSD &key);
     ~LLFloaterEditExtDayCycle();
 
     void openFloater(LLSettingsDay::ptr_t settings, S64Seconds daylength = S64Seconds(0), S64Seconds dayoffset = S64Seconds(0));
 
     BOOL	postBuild();
     void	onOpen(const LLSD& key);
- 	void	onClose(bool app_quitting);
+    void	onClose(bool app_quitting);
 
     void    onVisibilityChange(BOOL new_visibility);
 
-// 	/*virtual*/ void	draw();
     connection_t setEditCommitSignal(edit_commit_signal_t::slot_type cb);
 
 private:
 
-// 	/// sync the time slider with day cycle structure
-// 	void syncTimeSlider();
-// 
-// 	// 	makes sure key slider has what's in day cycle
-// 	void loadTrack();
-// 
-// 	/// makes sure day cycle data structure has what's in menu
-// 	void applyTrack();
-// 
-// 	/// refresh the sky presets combobox
-
-//    void onButtonApply(LLUICtrl *ctrl, const LLSD &data);
-	void onBtnSave();
+	// flyout response/click
+	void onButtonApply(LLUICtrl *ctrl, const LLSD &data);
 	void onBtnCancel();
-	void onBtnUpload();
 	void onAddTrack();
 	void onRemoveTrack();
 	void onCommitName(class LLLineEditor* caller, void* user_data);
 	void onTrackSelectionCallback(const LLSD& user_data);
-	void onTimeSliderMoved();	/// time slider moved
-	void onFrameSliderCallback();		/// a frame moved or frame selection changed
+	// time slider moved
+	void onTimeSliderMoved();
+	// a frame moved or frame selection changed
+	void onFrameSliderCallback();
 
 	void selectTrack(U32 track_index);
 	void clearTabs();
 	void updateTabs();
 	void updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
 	void updateSkyTabs(const LLSettingsSkyPtr_t &p_sky);
+	void setWaterTabsEnabled(BOOL enable);
+	void setSkyTabsEnabled(BOOL enable);
 	void updateButtons();
 	void updateSlider(); //track to slider
 	void updateTimeAndLabel();
-	void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t setting);
+	void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t &setting, bool update_ui = true);
 	void removeCurrentSliderFrame();
 
+    void setEditingEnv();
+    void restoreSavedEnv();
 
-    LLSettingsDay::ptr_t    mSavedDay;
-    LLSettingsDay::ptr_t    mEditDay;
+    // data for restoring previous displayed environment
+    LLSettingsDay::ptr_t    mSavedDay; // the one currently on screen
+    S32                     mSavedEnvironment;
+    S64Seconds              mSavedDayLength;
+    S64Seconds              mSavedDayOffset;
+
+    LLSettingsDay::ptr_t    mEditDay; // edited copy
+    LLSettingsDay::ptr_t    mOriginalDay; // the one we are editing
     S64Seconds              mDayLength;
     S64Seconds              mDayOffset;
     U32                     mCurrentTrack;
     std::string             mLastFrameSlider;
 
-    LLButton*           mSaveButton;
     LLButton*           mCancelButton;
-    LLButton*           mUploadButton;
     LLButton*           mAddFrameButton;
     LLButton*           mDeleteFrameButton;
 
@@ -121,14 +118,21 @@ private:
     LLView*             mWaterTabLayoutContainer;
     LLTextBox*          mCurrentTimeLabel;
 
-//    LLFlyoutComboBtnCtrl *      mFlyoutControl; // not a View!
+    LLFlyoutComboBtnCtrl *      mFlyoutControl;
 
     edit_commit_signal_t    mCommitSignal;
 
-    // map of sliders to parameters
-    typedef std::pair<F32, LLSettingsBase::ptr_t> framedata_t;
-    typedef std::map<std::string, framedata_t> keymap_t;
-    keymap_t mSliderKeyMap; //slider keys[old_frames], shadows mFramesSlider
+    // For map of sliders to parameters
+    class FrameData
+    {
+    public:
+        FrameData() : mFrame(0) {};
+        FrameData(F32 frame, LLSettingsBase::ptr_t settings) : mFrame(frame), pSettings(settings) {};
+        F32 mFrame;
+        LLSettingsBase::ptr_t pSettings;
+    };
+    typedef std::map<std::string, FrameData> keymap_t;
+    keymap_t mSliderKeyMap; //slider's keys vs old_frames&settings, shadows mFramesSlider
 };
 
 #endif // LL_LLFloaterEditExtDayCycle_H
-- 
cgit v1.2.3


From 044b80e4e1a7b55f46e6f3b52c9cae6d9c6df3eb Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Tue, 22 May 2018 10:49:55 -0700
Subject: Manual blender for use in day editing dialog.

---
 indra/newview/llfloatereditextdaycycle.h | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 3cc41e6248..80e5850558 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -31,6 +31,8 @@
 #include "llsettingsdaycycle.h"
 #include <boost/signals2.hpp>
 
+#include "llenvironment.h"
+
 class LLCheckBoxCtrl;
 class LLComboBox;
 class LLLineEditor;
@@ -39,6 +41,8 @@ class LLTextBox;
 class LLTimeCtrl;
 //class LLFlyoutComboBtnCtrl;
 
+class LLInventoryItem;
+
 typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t;
 
 /**
@@ -50,10 +54,9 @@ class LLFloaterEditExtDayCycle : public LLFloater
 
 public:
     // **RIDER**
-    static const std::string KEY_INVENTORY_ID;
-    static const std::string KEY_LIVE_ENVIRONMENT;
-    static const std::string KEY_DAY_LENGTH;
-    static const std::string KEY_DAY_OFFSET;
+    static const std::string    KEY_INVENTORY_ID;
+    static const std::string    KEY_LIVE_ENVIRONMENT;
+    static const std::string    KEY_DAY_LENGTH;
     // **RIDER**
 
     typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)>            edit_commit_signal_t;
@@ -62,7 +65,7 @@ public:
 	LLFloaterEditExtDayCycle(const LLSD &key);
     ~LLFloaterEditExtDayCycle();
 
-    void openFloater(LLSettingsDay::ptr_t settings, S64Seconds daylength = S64Seconds(0), S64Seconds dayoffset = S64Seconds(0));
+    //void openFloater(LLSettingsDay::ptr_t settings, S64Seconds daylength = S64Seconds(0), S64Seconds dayoffset = S64Seconds(0));
 
     BOOL	postBuild();
     void	onOpen(const LLSD& key);
@@ -115,13 +118,11 @@ private:
 
     void updateEditEnvironment();
     void syncronizeTabs();
+    void reblendSettings();
     // **RIDER**
 
-
-
     LLSettingsDay::ptr_t    mEditDay;
     S64Seconds              mDayLength;
-    S64Seconds              mDayOffset;
     U32                     mCurrentTrack;
     std::string             mLastFrameSlider;
 
@@ -140,7 +141,11 @@ private:
     // **RIDER**
     LLUUID                  mInventoryId;
     LLInventoryItem *       mInventoryItem;
-    LLEnvironment::EnvSelection_t mEditingEnv;
+    LLEnvironment::EnvSelection_t       mEditingEnv;
+    LLTrackBlenderLoopingManual::ptr_t  mSkyBlender;
+    LLTrackBlenderLoopingManual::ptr_t  mWaterBlender;
+    LLSettingsSky::ptr_t    mScratchSky;
+    LLSettingsWater::ptr_t  mScratchWater;
     // **RIDER**
 
 //    LLFlyoutComboBtnCtrl *      mFlyoutControl; // not a View!
-- 
cgit v1.2.3


From b29aa01056a1ea08d1d29dd610f6a1cd0aadcd9b Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Tue, 22 May 2018 16:54:04 -0700
Subject: Enable save/load/import for day edit.

---
 indra/newview/llfloatereditextdaycycle.h | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 287d2fe2dc..3a1f29382a 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -75,12 +75,15 @@ public:
 
     connection_t setEditCommitSignal(edit_commit_signal_t::slot_type cb);
 
+    virtual void refresh();
+
 private:
 
 	// flyout response/click
 	void onButtonApply(LLUICtrl *ctrl, const LLSD &data);
 	void onBtnCancel();
-	void onAddTrack();
+    void onButtonImport();
+    void onAddTrack();
 	void onRemoveTrack();
 	void onCommitName(class LLLineEditor* caller, void* user_data);
 	void onTrackSelectionCallback(const LLSD& user_data);
@@ -107,9 +110,21 @@ private:
     void onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
     void loadLiveEnvironment(LLEnvironment::EnvSelection_t env);
 
+    void doImportFromDisk();
+    void doApplyCreateNewInventory();
+    void doApplyUpdateInventory();
+    void doApplyEnvironment(const std::string &where);
+    void onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
+    void onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
+
+    bool canUseInventory() const;
+    bool canApplyRegion() const;
+    bool canApplyParcel() const;
+
     void updateEditEnvironment();
     void syncronizeTabs();
     void reblendSettings();
+
     // **RIDER**
 	
     // data for restoring previous displayed environment
@@ -125,6 +140,7 @@ private:
     LLButton*			mCancelButton;
     LLButton*           mAddFrameButton;
     LLButton*           mDeleteFrameButton;
+    LLButton*           mImportButton;
 
     LLMultiSliderCtrl*	    mTimeSlider;
     LLMultiSliderCtrl*      mFramesSlider;
-- 
cgit v1.2.3


From fbaa01d9a0c63386f13f0e43437c69f700950fd6 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Wed, 23 May 2018 09:30:39 -0700
Subject: Removed mSavedEnvironment so the Mac build will be happy.

---
 indra/newview/llfloatereditextdaycycle.h | 2 --
 1 file changed, 2 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 3a1f29382a..6ef3563e8f 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -129,8 +129,6 @@ private:
 	
     // data for restoring previous displayed environment
 
-    S32                     mSavedEnvironment;
-
     LLSettingsDay::ptr_t    mEditDay; // edited copy
     LLSettingsDay::ptr_t    mOriginalDay; // the one we are editing
     S64Seconds              mDayLength;
-- 
cgit v1.2.3


From c75eeab8391859e0819de0afbf9acc2293864f1e Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Wed, 23 May 2018 19:01:52 +0300
Subject: MAINT-8344 Day Cycle Editor (playing)

---
 indra/newview/llfloatereditextdaycycle.h | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 6ef3563e8f..c68e189cae 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -87,12 +87,14 @@ private:
 	void onRemoveTrack();
 	void onCommitName(class LLLineEditor* caller, void* user_data);
 	void onTrackSelectionCallback(const LLSD& user_data);
+	void onPlayActionCallback(const LLSD& user_data);
 	// time slider moved
 	void onTimeSliderMoved();
 	// a frame moved or frame selection changed
 	void onFrameSliderCallback();
 
 	void selectTrack(U32 track_index);
+	void selectFrame(F32 frame);
 	void clearTabs();
 	void updateTabs();
 	void updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
@@ -126,11 +128,13 @@ private:
     void reblendSettings();
 
     // **RIDER**
-	
-    // data for restoring previous displayed environment
+
+    // play functions
+    void startPlay();
+    void stopPlay();
+    static void onIdlePlay(void* user_data);
 
     LLSettingsDay::ptr_t    mEditDay; // edited copy
-    LLSettingsDay::ptr_t    mOriginalDay; // the one we are editing
     S64Seconds              mDayLength;
     U32                     mCurrentTrack;
     std::string             mLastFrameSlider;
@@ -158,6 +162,9 @@ private:
 
     LLFlyoutComboBtnCtrl *      mFlyoutControl;
 
+    LLFrameTimer mPlayTimer;
+    F32 mPlayStartFrame; // an env frame
+
     edit_commit_signal_t    mCommitSignal;
 
     // For map of sliders to parameters
-- 
cgit v1.2.3


From acaf57100eade61262d73cf5b318c4545e921bd5 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Thu, 24 May 2018 17:09:01 -0700
Subject: switch track based on altitudes sent from region.

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index c68e189cae..f2462ee1cc 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -132,7 +132,7 @@ private:
     // play functions
     void startPlay();
     void stopPlay();
-    static void onIdlePlay(void* user_data);
+    static void onIdlePlay(void *);
 
     LLSettingsDay::ptr_t    mEditDay; // edited copy
     S64Seconds              mDayLength;
-- 
cgit v1.2.3


From 2ddad24c4d5e64711cdbffd98e290d3da8e9714a Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Wed, 30 May 2018 17:08:28 -0700
Subject: Timeline behavior in day cycle edit.

---
 indra/newview/llfloatereditextdaycycle.h | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index f2462ee1cc..bee5e17b95 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -91,9 +91,12 @@ private:
 	// time slider moved
 	void onTimeSliderMoved();
 	// a frame moved or frame selection changed
-	void onFrameSliderCallback();
+	void onFrameSliderCallback(const LLSD &);
+    void onFrameSliderDoubleClick(S32 x, S32 y, MASK mask);
+    void onFrameSliderMouseDown(S32 x, S32 y, MASK mask);
+    void onFrameSliderMouseUp(S32 x, S32 y, MASK mask);
 
-	void selectTrack(U32 track_index);
+	void selectTrack(U32 track_index, bool force = false);
 	void selectFrame(F32 frame);
 	void clearTabs();
 	void updateTabs();
@@ -139,10 +142,10 @@ private:
     U32                     mCurrentTrack;
     std::string             mLastFrameSlider;
 
-    LLButton*			mCancelButton;
-    LLButton*           mAddFrameButton;
-    LLButton*           mDeleteFrameButton;
-    LLButton*           mImportButton;
+    LLButton*			    mCancelButton;
+    LLButton*               mAddFrameButton;
+    LLButton*               mDeleteFrameButton;
+    LLButton*               mImportButton;
 
     LLMultiSliderCtrl*	    mTimeSlider;
     LLMultiSliderCtrl*      mFramesSlider;
@@ -160,10 +163,11 @@ private:
     LLSettingsWater::ptr_t  mScratchWater;
     // **RIDER**
 
-    LLFlyoutComboBtnCtrl *      mFlyoutControl;
+    LLFlyoutComboBtnCtrl *  mFlyoutControl;
 
-    LLFrameTimer mPlayTimer;
-    F32 mPlayStartFrame; // an env frame
+    LLFrameTimer            mPlayTimer;
+    F32                     mPlayStartFrame; // an env frame
+    bool                    mIsPlaying;
 
     edit_commit_signal_t    mCommitSignal;
 
-- 
cgit v1.2.3


From 8cfdc07e790a557e881fadaa1b6258e5b16751f4 Mon Sep 17 00:00:00 2001
From: Graham Linden <graham@lindenlab.com>
Date: Fri, 1 Jun 2018 23:32:30 +0100
Subject: Code cleanup and move to using typedefs of S64Seconds/F64Seconds for
 ease in sync w/ sim side which has not llunits types.

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index bee5e17b95..fc0b4f5106 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -138,7 +138,7 @@ private:
     static void onIdlePlay(void *);
 
     LLSettingsDay::ptr_t    mEditDay; // edited copy
-    S64Seconds              mDayLength;
+    LLSettingsDay::Seconds  mDayLength;
     U32                     mCurrentTrack;
     std::string             mLastFrameSlider;
 
-- 
cgit v1.2.3


From bff5049b9262e703c3ae583962552ea416212e8b Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Wed, 6 Jun 2018 17:10:58 -0700
Subject: Various editor fixes.  Start adding a settings picker.

---
 indra/newview/llfloatereditextdaycycle.h | 55 +++++++++++++++-----------------
 1 file changed, 26 insertions(+), 29 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index fc0b4f5106..ea9f1e1882 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -40,6 +40,7 @@ class LLLineEditor;
 class LLMultiSliderCtrl;
 class LLTextBox;
 class LLTimeCtrl;
+class LLTabContainer;
 
 class LLInventoryItem;
 
@@ -83,6 +84,7 @@ private:
 	void onButtonApply(LLUICtrl *ctrl, const LLSD &data);
 	void onBtnCancel();
     void onButtonImport();
+    void onButtonLoadFrame();
     void onAddTrack();
 	void onRemoveTrack();
 	void onCommitName(class LLLineEditor* caller, void* user_data);
@@ -130,46 +132,41 @@ private:
     void syncronizeTabs();
     void reblendSettings();
 
-    // **RIDER**
+    void setTabsData(LLTabContainer * tabcontainer, const LLSettingsBase::ptr_t &settings, bool editable);
 
     // play functions
     void startPlay();
     void stopPlay();
     static void onIdlePlay(void *);
 
-    LLSettingsDay::ptr_t    mEditDay; // edited copy
-    LLSettingsDay::Seconds  mDayLength;
-    U32                     mCurrentTrack;
-    std::string             mLastFrameSlider;
-
-    LLButton*			    mCancelButton;
-    LLButton*               mAddFrameButton;
-    LLButton*               mDeleteFrameButton;
-    LLButton*               mImportButton;
-
-    LLMultiSliderCtrl*	    mTimeSlider;
-    LLMultiSliderCtrl*      mFramesSlider;
-    LLView*                 mSkyTabLayoutContainer;
-    LLView*                 mWaterTabLayoutContainer;
-    LLTextBox*              mCurrentTimeLabel;
+    LLSettingsDay::ptr_t        mEditDay; // edited copy
+    LLSettingsDay::Seconds      mDayLength;
+    U32                         mCurrentTrack;
+    std::string                 mLastFrameSlider;
+
+    LLButton*                   mAddFrameButton;
+    LLButton*                   mDeleteFrameButton;
+    LLButton*                   mImportButton;
+    LLButton*                   mLoadFrame;
+    LLMultiSliderCtrl*	        mTimeSlider;
+    LLMultiSliderCtrl*          mFramesSlider;
+    LLView*                     mSkyTabLayoutContainer;
+    LLView*                     mWaterTabLayoutContainer;
+    LLTextBox*                  mCurrentTimeLabel;
+    LLUUID                      mInventoryId;
+    LLInventoryItem *           mInventoryItem;
+    LLFlyoutComboBtnCtrl *      mFlyoutControl;
 
-    // **RIDER**
-    LLUUID                  mInventoryId;
-    LLInventoryItem *       mInventoryItem;
-    LLEnvironment::EnvSelection_t       mEditingEnv;
     LLTrackBlenderLoopingManual::ptr_t  mSkyBlender;
     LLTrackBlenderLoopingManual::ptr_t  mWaterBlender;
-    LLSettingsSky::ptr_t    mScratchSky;
-    LLSettingsWater::ptr_t  mScratchWater;
-    // **RIDER**
-
-    LLFlyoutComboBtnCtrl *  mFlyoutControl;
+    LLSettingsSky::ptr_t        mScratchSky;
+    LLSettingsWater::ptr_t      mScratchWater;
 
-    LLFrameTimer            mPlayTimer;
-    F32                     mPlayStartFrame; // an env frame
-    bool                    mIsPlaying;
+    LLFrameTimer                mPlayTimer;
+    F32                         mPlayStartFrame; // an env frame
+    bool                        mIsPlaying;
 
-    edit_commit_signal_t    mCommitSignal;
+    edit_commit_signal_t        mCommitSignal;
 
     // For map of sliders to parameters
     class FrameData
-- 
cgit v1.2.3


From 8365945f8af6e27e7180b40aae79f210f99bb7c8 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Fri, 8 Jun 2018 16:40:01 -0700
Subject: Settings inventory picker.

---
 indra/newview/llfloatereditextdaycycle.h | 135 ++++++++++++++++---------------
 1 file changed, 69 insertions(+), 66 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index ea9f1e1882..0ec5e91b4d 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -60,84 +60,85 @@ public:
     static const std::string    KEY_DAY_LENGTH;
     // **RIDER**
 
-    typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)>            edit_commit_signal_t;
-    typedef boost::signals2::connection     connection_t;
+    typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)> edit_commit_signal_t;
+    typedef boost::signals2::connection connection_t;
 
-    LLFloaterEditExtDayCycle(const LLSD &key);
-    ~LLFloaterEditExtDayCycle();
+                                LLFloaterEditExtDayCycle(const LLSD &key);
+    virtual                     ~LLFloaterEditExtDayCycle();
 
-    //void openFloater(LLSettingsDay::ptr_t settings, S64Seconds daylength = S64Seconds(0), S64Seconds dayoffset = S64Seconds(0));
+    virtual BOOL                postBuild() override;
+    virtual void                onOpen(const LLSD& key) override;
+    virtual void                onClose(bool app_quitting) override;
+    virtual void                onFocusReceived() override;
+    virtual void                onFocusLost() override;
+    virtual void                onVisibilityChange(BOOL new_visibility) override;
 
-    BOOL	postBuild();
-    void	onOpen(const LLSD& key);
-    void	onClose(bool app_quitting);
+    connection_t                setEditCommitSignal(edit_commit_signal_t::slot_type cb);
 
-    void    onVisibilityChange(BOOL new_visibility);
-
-    connection_t setEditCommitSignal(edit_commit_signal_t::slot_type cb);
-
-    virtual void refresh();
+    virtual void                refresh() override;
 
 private:
 
 	// flyout response/click
-	void onButtonApply(LLUICtrl *ctrl, const LLSD &data);
-	void onBtnCancel();
-    void onButtonImport();
-    void onButtonLoadFrame();
-    void onAddTrack();
-	void onRemoveTrack();
-	void onCommitName(class LLLineEditor* caller, void* user_data);
-	void onTrackSelectionCallback(const LLSD& user_data);
-	void onPlayActionCallback(const LLSD& user_data);
+	void                        onButtonApply(LLUICtrl *ctrl, const LLSD &data);
+	void                        onBtnCancel();
+    void                        onButtonImport();
+    void                        onButtonLoadFrame();
+    void                        onAddTrack();
+	void                        onRemoveTrack();
+	void                        onCommitName(class LLLineEditor* caller, void* user_data);
+	void                        onTrackSelectionCallback(const LLSD& user_data);
+	void                        onPlayActionCallback(const LLSD& user_data);
 	// time slider moved
-	void onTimeSliderMoved();
+	void                        onTimeSliderMoved();
 	// a frame moved or frame selection changed
-	void onFrameSliderCallback(const LLSD &);
-    void onFrameSliderDoubleClick(S32 x, S32 y, MASK mask);
-    void onFrameSliderMouseDown(S32 x, S32 y, MASK mask);
-    void onFrameSliderMouseUp(S32 x, S32 y, MASK mask);
-
-	void selectTrack(U32 track_index, bool force = false);
-	void selectFrame(F32 frame);
-	void clearTabs();
-	void updateTabs();
-	void updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
-	void updateSkyTabs(const LLSettingsSkyPtr_t &p_sky);
-	void setWaterTabsEnabled(BOOL enable);
-	void setSkyTabsEnabled(BOOL enable);
-	void updateButtons();
-	void updateSlider(); //track to slider
-	void updateTimeAndLabel();
-	void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t &setting, bool update_ui = true);
-	void removeCurrentSliderFrame();
-
-    // **RIDER**
-    void loadInventoryItem(const LLUUID  &inventoryId);
-    void onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
-    void loadLiveEnvironment(LLEnvironment::EnvSelection_t env);
-
-    void doImportFromDisk();
-    void doApplyCreateNewInventory();
-    void doApplyUpdateInventory();
-    void doApplyEnvironment(const std::string &where);
-    void onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
-    void onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
-
-    bool canUseInventory() const;
-    bool canApplyRegion() const;
-    bool canApplyParcel() const;
-
-    void updateEditEnvironment();
-    void syncronizeTabs();
-    void reblendSettings();
-
-    void setTabsData(LLTabContainer * tabcontainer, const LLSettingsBase::ptr_t &settings, bool editable);
+	void                        onFrameSliderCallback(const LLSD &);
+    void                        onFrameSliderDoubleClick(S32 x, S32 y, MASK mask);
+    void                        onFrameSliderMouseDown(S32 x, S32 y, MASK mask);
+    void                        onFrameSliderMouseUp(S32 x, S32 y, MASK mask);
+
+	void                        selectTrack(U32 track_index, bool force = false);
+	void                        selectFrame(F32 frame);
+	void                        clearTabs();
+	void                        updateTabs();
+	void                        updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
+	void                        updateSkyTabs(const LLSettingsSkyPtr_t &p_sky);
+	void                        setWaterTabsEnabled(BOOL enable);
+	void                        setSkyTabsEnabled(BOOL enable);
+	void                        updateButtons();
+	void                        updateSlider(); //track to slider
+	void                        updateTimeAndLabel();
+	void                        addSliderFrame(const F32 frame, LLSettingsBase::ptr_t &setting, bool update_ui = true);
+	void                        removeCurrentSliderFrame();
+
+    void                        loadInventoryItem(const LLUUID  &inventoryId);
+    void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
+    void                        loadLiveEnvironment(LLEnvironment::EnvSelection_t env);
+
+    void                        doImportFromDisk();
+    void                        doApplyCreateNewInventory();
+    void                        doApplyUpdateInventory();
+    void                        doApplyEnvironment(const std::string &where);
+    void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
+    void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
+
+    void                        doOpenInventoryFloater(LLSettingsType::type_e type);
+    void                        onPickerCommitSetting(LLUUID asset_id);
+
+    bool                        canUseInventory() const;
+    bool                        canApplyRegion() const;
+    bool                        canApplyParcel() const;
+
+    void                        updateEditEnvironment();
+    void                        syncronizeTabs();
+    void                        reblendSettings();
+
+    void                        setTabsData(LLTabContainer * tabcontainer, const LLSettingsBase::ptr_t &settings, bool editable);
 
     // play functions
-    void startPlay();
-    void stopPlay();
-    static void onIdlePlay(void *);
+    void                        startPlay();
+    void                        stopPlay();
+    static void                 onIdlePlay(void *);
 
     LLSettingsDay::ptr_t        mEditDay; // edited copy
     LLSettingsDay::Seconds      mDayLength;
@@ -157,6 +158,8 @@ private:
     LLInventoryItem *           mInventoryItem;
     LLFlyoutComboBtnCtrl *      mFlyoutControl;
 
+    LLHandle<LLFloater>         mInventoryFloater;
+
     LLTrackBlenderLoopingManual::ptr_t  mSkyBlender;
     LLTrackBlenderLoopingManual::ptr_t  mWaterBlender;
     LLSettingsSky::ptr_t        mScratchSky;
-- 
cgit v1.2.3


From 67ab0084f87c40bf31d7fadded55cc9ea6299ca2 Mon Sep 17 00:00:00 2001
From: Graham Linden <graham@lindenlab.com>
Date: Tue, 12 Jun 2018 18:42:07 +0100
Subject: Fix env panel forward action.

Make env panel update environment when jumping frame to frame.

Add separate funcs for sun/moon vectors in various coord systems.

Make haze glow only pay attention to sun (i.e. fix sun glow when moon is near horizon in daytime).
---
 indra/newview/llfloatereditextdaycycle.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 0ec5e91b4d..94b2d6c21b 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -79,6 +79,8 @@ public:
 
 private:
 
+    F32 getCurrentFrame() const;
+
 	// flyout response/click
 	void                        onButtonApply(LLUICtrl *ctrl, const LLSD &data);
 	void                        onBtnCancel();
@@ -98,7 +100,7 @@ private:
     void                        onFrameSliderMouseUp(S32 x, S32 y, MASK mask);
 
 	void                        selectTrack(U32 track_index, bool force = false);
-	void                        selectFrame(F32 frame);
+	void                        selectFrame(F32 frame, F32 slop_factor);
 	void                        clearTabs();
 	void                        updateTabs();
 	void                        updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
-- 
cgit v1.2.3


From 2add1e7abdf536b32bfbfa4b353189782df8cb19 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Tue, 12 Jun 2018 12:39:59 -0700
Subject: Time threshold on timer based updates.  Editor can replace frame with
 one from inventory. Extra check on adding a frame type.

---
 indra/newview/llfloatereditextdaycycle.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 0ec5e91b4d..0c2cf3922e 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -122,15 +122,17 @@ private:
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
 
-    void                        doOpenInventoryFloater(LLSettingsType::type_e type);
+    void                        doOpenInventoryFloater(LLSettingsType::type_e type, LLUUID currasset);
+    void                        doCloseInventoryFloater(bool quitting = false);
     void                        onPickerCommitSetting(LLUUID asset_id);
+    void                        onAssetLoadedForFrame(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 track, LLSettingsBase::TrackPosition frame);
 
     bool                        canUseInventory() const;
     bool                        canApplyRegion() const;
     bool                        canApplyParcel() const;
 
     void                        updateEditEnvironment();
-    void                        syncronizeTabs();
+    void                        synchronizeTabs();
     void                        reblendSettings();
 
     void                        setTabsData(LLTabContainer * tabcontainer, const LLSettingsBase::ptr_t &settings, bool editable);
@@ -164,6 +166,7 @@ private:
     LLTrackBlenderLoopingManual::ptr_t  mWaterBlender;
     LLSettingsSky::ptr_t        mScratchSky;
     LLSettingsWater::ptr_t      mScratchWater;
+    LLSettingsBase::ptr_t       mCurrentEdit;
 
     LLFrameTimer                mPlayTimer;
     F32                         mPlayStartFrame; // an env frame
-- 
cgit v1.2.3


From c822d8af16428cf245ae57305a4f39d3fccd672b Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Fri, 20 Jul 2018 19:10:22 +0300
Subject: MAINT-8344 implement slider support for an overlap threshold and
 reenable shift-copy

---
 indra/newview/llfloatereditextdaycycle.h | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index c4f0811d17..858e6e26f8 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -77,6 +77,8 @@ public:
 
     virtual void                refresh() override;
 
+    /* virtual */ BOOL	handleKeyUp(KEY key, MASK mask, BOOL called_from_parent);
+
 private:
 
     F32 getCurrentFrame() const;
@@ -148,6 +150,7 @@ private:
     LLSettingsDay::Seconds      mDayLength;
     U32                         mCurrentTrack;
     std::string                 mLastFrameSlider;
+    bool                        mShiftCopyEnabled;
 
     LLButton*                   mAddFrameButton;
     LLButton*                   mDeleteFrameButton;
-- 
cgit v1.2.3


From 04ddc587145d38b659632fbacc2017c496b951f2 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Thu, 26 Jul 2018 09:51:18 -0400
Subject: 'override' key word is all or nothing. Add override to method in
 editor class

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 858e6e26f8..f29d5b55ca 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -77,7 +77,7 @@ public:
 
     virtual void                refresh() override;
 
-    /* virtual */ BOOL	handleKeyUp(KEY key, MASK mask, BOOL called_from_parent);
+    BOOL			handleKeyUp(KEY key, MASK mask, BOOL called_from_parent) override;
 
 private:
 
-- 
cgit v1.2.3


From 51abc168c03f80d63c85d4bb48624f440b585390 Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Fri, 3 Aug 2018 21:01:43 +0300
Subject: MAINT-8902 fix encroaching 'legacy' issues

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index f29d5b55ca..0607d35d4a 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -110,7 +110,7 @@ private:
 	void                        setWaterTabsEnabled(BOOL enable);
 	void                        setSkyTabsEnabled(BOOL enable);
 	void                        updateButtons();
-	void                        updateSlider(); //track to slider
+	void                        updateSlider(); //generate sliders from current track
 	void                        updateTimeAndLabel();
 	void                        addSliderFrame(const F32 frame, LLSettingsBase::ptr_t &setting, bool update_ui = true);
 	void                        removeCurrentSliderFrame();
-- 
cgit v1.2.3


From 7a001186b3063c36a78b2537b81c75124e307ff7 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Thu, 9 Aug 2018 16:36:44 -0700
Subject: Adjust layout of sunmoon panel and size of ext day edit. Blank sun
 texture. Fix edit and transition in edit day cycle. Fix default and blank
 images in sky textures.

---
 indra/newview/llfloatereditextdaycycle.h | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 0607d35d4a..83506ba85f 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -172,6 +172,8 @@ private:
     LLSettingsSky::ptr_t        mScratchSky;
     LLSettingsWater::ptr_t      mScratchWater;
     LLSettingsBase::ptr_t       mCurrentEdit;
+    LLSettingsSky::ptr_t        mEditSky;
+    LLSettingsWater::ptr_t      mEditWater;
 
     LLFrameTimer                mPlayTimer;
     F32                         mPlayStartFrame; // an env frame
-- 
cgit v1.2.3


From eadf0b910174274e7c83fe37e417f576a7350edb Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Wed, 15 Aug 2018 13:35:53 -0700
Subject: MAINT-8990, MAINT-9002: First pass rework on environment panels,
 region/parcel

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 83506ba85f..084280063c 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -56,7 +56,7 @@ class LLFloaterEditExtDayCycle : public LLFloater
 public:
     // **RIDER**
     static const std::string    KEY_INVENTORY_ID;
-    static const std::string    KEY_LIVE_ENVIRONMENT;
+    static const std::string    KEY_EDIT_CONTEXT;
     static const std::string    KEY_DAY_LENGTH;
     // **RIDER**
 
-- 
cgit v1.2.3


From 1716129fd23ff35e030808406af1a8f796dc4b01 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Fri, 17 Aug 2018 12:35:42 -0700
Subject: MAINT-8826, MAINT-8990, MAINT-9002, MAINT-7703: Rework for
 environment pannels in Region/Estate and Parcel. Enable/disable by
 permission. Edit the correct environment.  Dirty flags for changes. Estate
 owner disallow switch.

---
 indra/newview/llfloatereditextdaycycle.h | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 084280063c..7d0489f0bc 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -54,11 +54,20 @@ class LLFloaterEditExtDayCycle : public LLFloater
 	LOG_CLASS(LLFloaterEditExtDayCycle);
 
 public:
-    // **RIDER**
     static const std::string    KEY_INVENTORY_ID;
     static const std::string    KEY_EDIT_CONTEXT;
     static const std::string    KEY_DAY_LENGTH;
-    // **RIDER**
+
+    static const std::string    VALUE_CONTEXT_INVENTORY;
+    static const std::string    VALUE_CONTEXT_PARCEL;
+    static const std::string    VALUE_CONTEXT_REGION;
+
+    enum edit_context_t {
+        CONTEXT_UNKNOWN,
+        CONTEXT_INVENTORY,
+        CONTEXT_PARCEL,
+        CONTEXT_REGION
+    };
 
     typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)> edit_commit_signal_t;
     typedef boost::signals2::connection connection_t;
@@ -77,7 +86,10 @@ public:
 
     virtual void                refresh() override;
 
-    BOOL			handleKeyUp(KEY key, MASK mask, BOOL called_from_parent) override;
+    void                        setEditDayCycle(const LLSettingsDay::ptr_t &pday);
+    void                        setEditDefaultDayCycle();
+
+    BOOL			            handleKeyUp(KEY key, MASK mask, BOOL called_from_parent) override;
 
 private:
 
@@ -117,12 +129,12 @@ private:
 
     void                        loadInventoryItem(const LLUUID  &inventoryId);
     void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
-    void                        loadLiveEnvironment(LLEnvironment::EnvSelection_t env);
 
     void                        doImportFromDisk();
     void                        doApplyCreateNewInventory();
     void                        doApplyUpdateInventory();
     void                        doApplyEnvironment(const std::string &where);
+    void                        doApplyCommit();
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
 
@@ -181,6 +193,8 @@ private:
 
     edit_commit_signal_t        mCommitSignal;
 
+    edit_context_t              mEditContext;
+
     // For map of sliders to parameters
     class FrameData
     {
-- 
cgit v1.2.3


From 06a77dd5fe228a3bbf4c57ae3b0c51937871d6a2 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Fri, 24 Aug 2018 16:46:07 -0700
Subject: is dirty code in day cycle editor.  When environment panel closes
 disconnect commit hook for crash.

---
 indra/newview/llfloatereditextdaycycle.h | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 7d0489f0bc..ba269dd538 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -91,13 +91,15 @@ public:
 
     BOOL			            handleKeyUp(KEY key, MASK mask, BOOL called_from_parent) override;
 
-private:
+    BOOL                        isDirty() const override { return getIsDirty(); } 
 
+private:
+    typedef std::function<void()> on_confirm_fn;
     F32 getCurrentFrame() const;
 
 	// flyout response/click
 	void                        onButtonApply(LLUICtrl *ctrl, const LLSD &data);
-	void                        onBtnCancel();
+    virtual void                onClickCloseBtn(bool app_quitting = false) override;
     void                        onButtonImport();
     void                        onButtonLoadFrame();
     void                        onAddTrack();
@@ -113,6 +115,10 @@ private:
     void                        onFrameSliderMouseDown(S32 x, S32 y, MASK mask);
     void                        onFrameSliderMouseUp(S32 x, S32 y, MASK mask);
 
+    void                        onPanelDirtyFlagChanged(bool);
+
+    void                        checkAndConfirmSettingsLoss(on_confirm_fn cb);
+
 	void                        selectTrack(U32 track_index, bool force = false);
 	void                        selectFrame(F32 frame, F32 slop_factor);
 	void                        clearTabs();
@@ -158,6 +164,10 @@ private:
     void                        stopPlay();
     static void                 onIdlePlay(void *);
 
+    bool                        getIsDirty() const  { return mIsDirty; }
+    void                        setDirtyFlag()      { mIsDirty = true; }
+    virtual void                clearDirtyFlag();
+
     LLSettingsDay::ptr_t        mEditDay; // edited copy
     LLSettingsDay::Seconds      mDayLength;
     U32                         mCurrentTrack;
@@ -190,6 +200,7 @@ private:
     LLFrameTimer                mPlayTimer;
     F32                         mPlayStartFrame; // an env frame
     bool                        mIsPlaying;
+    bool                        mIsDirty;
 
     edit_commit_signal_t        mCommitSignal;
 
-- 
cgit v1.2.3


From 114e358aae80e9e3ca70de093d51e4700c46df37 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Fri, 7 Sep 2018 16:09:32 -0700
Subject: Work to make edit floaters respect no mod and no trans.  Importing
 no-trans frame will cause day cycle to become no trans.

---
 indra/newview/llfloatereditextdaycycle.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index ba269dd538..c64ed3ff5a 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -125,8 +125,6 @@ private:
 	void                        updateTabs();
 	void                        updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
 	void                        updateSkyTabs(const LLSettingsSkyPtr_t &p_sky);
-	void                        setWaterTabsEnabled(BOOL enable);
-	void                        setSkyTabsEnabled(BOOL enable);
 	void                        updateButtons();
 	void                        updateSlider(); //generate sliders from current track
 	void                        updateTimeAndLabel();
@@ -201,6 +199,9 @@ private:
     F32                         mPlayStartFrame; // an env frame
     bool                        mIsPlaying;
     bool                        mIsDirty;
+    bool                        mCanCopy;
+    bool                        mCanMod;
+    bool                        mMakeNoTrans;
 
     edit_commit_signal_t        mCommitSignal;
 
-- 
cgit v1.2.3


From 598cd8a30fe31b2af5e9bd23db72101afae45870 Mon Sep 17 00:00:00 2001
From: maxim_productengine <mnikolenko@productengine.com>
Date: Mon, 10 Sep 2018 17:31:31 +0300
Subject: MAINT-9066 EEP should not be able to delete all Keyframes from Ground
 Level or Water

---
 indra/newview/llfloatereditextdaycycle.h | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index c64ed3ff5a..d808dc60c5 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -166,6 +166,8 @@ private:
     void                        setDirtyFlag()      { mIsDirty = true; }
     virtual void                clearDirtyFlag();
 
+    bool                        isRemovingFrameAllowed();
+
     LLSettingsDay::ptr_t        mEditDay; // edited copy
     LLSettingsDay::Seconds      mDayLength;
     U32                         mCurrentTrack;
-- 
cgit v1.2.3


From 6246c8077e5ee81321cff52250d3b99eab81cd57 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Mon, 10 Sep 2018 14:49:14 -0700
Subject: MAINT-9118: Allow the environment panel to indicated that the
 environment may be modified.

---
 indra/newview/llfloatereditextdaycycle.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index d808dc60c5..76f7d705a2 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -57,6 +57,7 @@ public:
     static const std::string    KEY_INVENTORY_ID;
     static const std::string    KEY_EDIT_CONTEXT;
     static const std::string    KEY_DAY_LENGTH;
+    static const std::string    KEY_CANMOD;
 
     static const std::string    VALUE_CONTEXT_INVENTORY;
     static const std::string    VALUE_CONTEXT_PARCEL;
-- 
cgit v1.2.3


From a0b9c262185c00d15fb54d06ab2fdb1c6d6b95d9 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Tue, 11 Sep 2018 14:04:43 -0700
Subject: SL-9620: Double check that commit actually passes back a day cycle
 from the editor. Also hide the altitude setting interface for the moment.

---
 indra/newview/llfloatereditextdaycycle.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 76f7d705a2..f03a69c200 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -136,10 +136,10 @@ private:
     void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
 
     void                        doImportFromDisk();
-    void                        doApplyCreateNewInventory();
-    void                        doApplyUpdateInventory();
-    void                        doApplyEnvironment(const std::string &where);
-    void                        doApplyCommit();
+    void doApplyCreateNewInventory(const LLSettingsDay::ptr_t &day);
+    void doApplyUpdateInventory(const LLSettingsDay::ptr_t &day);
+    void doApplyEnvironment(const std::string &where, const LLSettingsDay::ptr_t &day);
+    void doApplyCommit(LLSettingsDay::ptr_t day);
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
 
-- 
cgit v1.2.3


From 8f44ac231921cd7b83c0b0e47fbef0b6a52a0b57 Mon Sep 17 00:00:00 2001
From: maxim_productengine <mnikolenko@productengine.com>
Date: Mon, 17 Sep 2018 17:03:10 +0300
Subject: SL-9664 FIXED [EEP] File pickers are not threaded

---
 indra/newview/llfloatereditextdaycycle.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index f03a69c200..185b27bff3 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -136,6 +136,7 @@ private:
     void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
 
     void                        doImportFromDisk();
+    void                        loadSettingFromFile(const std::vector<std::string>& filenames);
     void doApplyCreateNewInventory(const LLSettingsDay::ptr_t &day);
     void doApplyUpdateInventory(const LLSettingsDay::ptr_t &day);
     void doApplyEnvironment(const std::string &where, const LLSettingsDay::ptr_t &day);
-- 
cgit v1.2.3


From ee532d946dc394bd3ebdaefedb6034520b83ef9a Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Mon, 24 Sep 2018 18:00:01 +0300
Subject: SL-1817 EEP Day Cycle timeline scrubber can't be repositioned while
 it's playing

---
 indra/newview/llfloatereditextdaycycle.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 185b27bff3..0ab47fc1e5 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -108,8 +108,8 @@ private:
 	void                        onCommitName(class LLLineEditor* caller, void* user_data);
 	void                        onTrackSelectionCallback(const LLSD& user_data);
 	void                        onPlayActionCallback(const LLSD& user_data);
-	// time slider moved
-	void                        onTimeSliderMoved();
+	// time slider clicked
+	void                        onTimeSliderCallback();
 	// a frame moved or frame selection changed
 	void                        onFrameSliderCallback(const LLSD &);
     void                        onFrameSliderDoubleClick(S32 x, S32 y, MASK mask);
-- 
cgit v1.2.3


From 405f5c879c44f32635dcb94de2c7dfb9e4a8673a Mon Sep 17 00:00:00 2001
From: maxim_productengine <mnikolenko@productengine.com>
Date: Wed, 26 Sep 2018 17:39:55 +0300
Subject: SL-9732 FIXED [EEP] Save As does not provide dialogue to supply new
 setting name

---
 indra/newview/llfloatereditextdaycycle.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 0ab47fc1e5..1e40a9dc6e 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -108,6 +108,7 @@ private:
 	void                        onCommitName(class LLLineEditor* caller, void* user_data);
 	void                        onTrackSelectionCallback(const LLSD& user_data);
 	void                        onPlayActionCallback(const LLSD& user_data);
+	void                        onSaveAsCommit(const LLSD& notification, const LLSD& response, const LLSettingsDay::ptr_t &day);
 	// time slider clicked
 	void                        onTimeSliderCallback();
 	// a frame moved or frame selection changed
@@ -137,7 +138,7 @@ private:
 
     void                        doImportFromDisk();
     void                        loadSettingFromFile(const std::vector<std::string>& filenames);
-    void doApplyCreateNewInventory(const LLSettingsDay::ptr_t &day);
+    void doApplyCreateNewInventory(const LLSettingsDay::ptr_t &day, std::string settings_name);
     void doApplyUpdateInventory(const LLSettingsDay::ptr_t &day);
     void doApplyEnvironment(const std::string &where, const LLSettingsDay::ptr_t &day);
     void doApplyCommit(LLSettingsDay::ptr_t day);
-- 
cgit v1.2.3


From b328c7384e46425e43aadb817bd794065ae1830c Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Wed, 26 Sep 2018 16:54:01 -0700
Subject: SL-9679: Record the asset id that the editor is expecting.  If none
 set to null. If asset id recieved does not match expected throw it away.

---
 indra/newview/llfloatereditextdaycycle.h | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 1e40a9dc6e..0d306961df 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -177,6 +177,8 @@ private:
     std::string                 mLastFrameSlider;
     bool                        mShiftCopyEnabled;
 
+    LLUUID                      mExpectingAssetId;
+
     LLButton*                   mAddFrameButton;
     LLButton*                   mDeleteFrameButton;
     LLButton*                   mImportButton;
-- 
cgit v1.2.3


From 57ff71c915727abe09e794da4aa1615eb43f0abf Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Thu, 4 Oct 2018 22:12:17 +0300
Subject: SL-9654 [EEP] Settings Picker reliability

---
 indra/newview/llfloatereditextdaycycle.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 0d306961df..0f2c572ccf 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -130,7 +130,7 @@ private:
 	void                        updateButtons();
 	void                        updateSlider(); //generate sliders from current track
 	void                        updateTimeAndLabel();
-	void                        addSliderFrame(const F32 frame, LLSettingsBase::ptr_t &setting, bool update_ui = true);
+	void                        addSliderFrame(const F32 frame, const LLSettingsBase::ptr_t &setting, bool update_ui = true);
 	void                        removeCurrentSliderFrame();
 
     void                        loadInventoryItem(const LLUUID  &inventoryId);
@@ -145,10 +145,10 @@ private:
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
 
-    void                        doOpenInventoryFloater(LLSettingsType::type_e type, LLUUID currasset);
+    void                        doOpenInventoryFloater(LLSettingsType::type_e type, LLUUID curritem);
     void                        doCloseInventoryFloater(bool quitting = false);
-    void                        onPickerCommitSetting(LLUUID asset_id);
-    void                        onAssetLoadedForFrame(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 track, LLSettingsBase::TrackPosition frame);
+    void                        onPickerCommitSetting(LLUUID item_id);
+    void                        onAssetLoadedForFrame(LLUUID item_id, LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 track, LLSettingsBase::TrackPosition frame);
 
     bool                        canUseInventory() const;
     bool                        canApplyRegion() const;
-- 
cgit v1.2.3


From d60588ec4fe6adc67de7938bc8ed9570f6cb187c Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Fri, 5 Oct 2018 17:12:58 +0300
Subject: SL-9822 Minimizing viewer resets day editor's values

---
 indra/newview/llfloatereditextdaycycle.h | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 0f2c572ccf..fd5fb67837 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -89,6 +89,9 @@ public:
 
     void                        setEditDayCycle(const LLSettingsDay::ptr_t &pday);
     void                        setEditDefaultDayCycle();
+    LLUUID                      getEditingAssetId() { return mEditDay ? mEditDay->getAssetId() : LLUUID::null; }
+    LLUUID                      getEditingInventoryId() { return mInventoryId; }
+
 
     BOOL			            handleKeyUp(KEY key, MASK mask, BOOL called_from_parent) override;
 
-- 
cgit v1.2.3


From f0afc19bee33a31f9e648e72935f3b7c7dee2fd5 Mon Sep 17 00:00:00 2001
From: maxim_productengine <mnikolenko@productengine.com>
Date: Wed, 5 Dec 2018 15:32:17 +0200
Subject: SL-10166 FIXED Sky editor add/delete frame not enabling disabling
 correctly

---
 indra/newview/llfloatereditextdaycycle.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index fd5fb67837..6224517aa0 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -173,6 +173,7 @@ private:
     virtual void                clearDirtyFlag();
 
     bool                        isRemovingFrameAllowed();
+    bool                        isAddingFrameAllowed();
 
     LLSettingsDay::ptr_t        mEditDay; // edited copy
     LLSettingsDay::Seconds      mDayLength;
-- 
cgit v1.2.3


From 2f188b36d9b892e48ba72c3485b34036273d755b Mon Sep 17 00:00:00 2001
From: maxim_productengine <mnikolenko@productengine.com>
Date: Wed, 5 Dec 2018 17:14:06 +0200
Subject: SL-10167 Change wording on Add/Load/Delete buttons in the day editor

---
 indra/newview/llfloatereditextdaycycle.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 6224517aa0..a9b5c8a3f0 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -131,6 +131,7 @@ private:
 	void                        updateWaterTabs(const LLSettingsWaterPtr_t &p_water);
 	void                        updateSkyTabs(const LLSettingsSkyPtr_t &p_sky);
 	void                        updateButtons();
+	void                        updateLabels();
 	void                        updateSlider(); //generate sliders from current track
 	void                        updateTimeAndLabel();
 	void                        addSliderFrame(const F32 frame, const LLSettingsBase::ptr_t &setting, bool update_ui = true);
-- 
cgit v1.2.3


From 87e83274f7f0be38c571c9f01848368d0fc160bf Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Mon, 10 Dec 2018 20:21:18 +0200
Subject: SL-9924 [EEP] Environment Settings permissions can be dropped by Save
 As button

---
 indra/newview/llfloatereditextdaycycle.h | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index a9b5c8a3f0..1dea77571f 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -43,6 +43,7 @@ class LLTimeCtrl;
 class LLTabContainer;
 
 class LLInventoryItem;
+class LLDaySettingCopiedCallback;
 
 typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t;
 
@@ -53,6 +54,8 @@ class LLFloaterEditExtDayCycle : public LLFloater
 {
 	LOG_CLASS(LLFloaterEditExtDayCycle);
 
+    friend class LLDaySettingCopiedCallback;
+
 public:
     static const std::string    KEY_INVENTORY_ID;
     static const std::string    KEY_EDIT_CONTEXT;
@@ -146,6 +149,7 @@ private:
     void doApplyUpdateInventory(const LLSettingsDay::ptr_t &day);
     void doApplyEnvironment(const std::string &where, const LLSettingsDay::ptr_t &day);
     void doApplyCommit(LLSettingsDay::ptr_t day);
+    void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id);
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
 
-- 
cgit v1.2.3


From 8227a0b270f6e7cc521adeb7b97ad2d5fb646973 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Fri, 21 Dec 2018 15:30:57 -0800
Subject: SL-10279: Rework the environment pannel.  Still in progress.

---
 indra/newview/llfloatereditextdaycycle.h | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 1dea77571f..1967f5a470 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -92,6 +92,8 @@ public:
 
     void                        setEditDayCycle(const LLSettingsDay::ptr_t &pday);
     void                        setEditDefaultDayCycle();
+    std::string                 getEditName() const;
+    void                        setEditName(const std::string &name);
     LLUUID                      getEditingAssetId() { return mEditDay ? mEditDay->getAssetId() : LLUUID::null; }
     LLUUID                      getEditingInventoryId() { return mInventoryId; }
 
-- 
cgit v1.2.3


From 042454bda9506185ebf82e3bbdf4305214d6af84 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Wed, 16 Jan 2019 14:05:02 -0800
Subject: Add Copy/Load/Clear track buttons.  Clear track functionality.

---
 indra/newview/llfloatereditextdaycycle.h | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 1967f5a470..67a6f1e0e9 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -111,8 +111,11 @@ private:
     virtual void                onClickCloseBtn(bool app_quitting = false) override;
     void                        onButtonImport();
     void                        onButtonLoadFrame();
-    void                        onAddTrack();
-	void                        onRemoveTrack();
+    void                        onAddFrame();
+	void                        onRemoveFrame();
+    void                        onCloneTrack();
+    void                        onLoadTrack();
+    void                        onClearTrack();
 	void                        onCommitName(class LLLineEditor* caller, void* user_data);
 	void                        onTrackSelectionCallback(const LLSD& user_data);
 	void                        onPlayActionCallback(const LLSD& user_data);
@@ -147,10 +150,10 @@ private:
 
     void                        doImportFromDisk();
     void                        loadSettingFromFile(const std::vector<std::string>& filenames);
-    void doApplyCreateNewInventory(const LLSettingsDay::ptr_t &day, std::string settings_name);
-    void doApplyUpdateInventory(const LLSettingsDay::ptr_t &day);
-    void doApplyEnvironment(const std::string &where, const LLSettingsDay::ptr_t &day);
-    void doApplyCommit(LLSettingsDay::ptr_t day);
+    void                        doApplyCreateNewInventory(const LLSettingsDay::ptr_t &day, std::string settings_name);
+    void                        doApplyUpdateInventory(const LLSettingsDay::ptr_t &day);
+    void                        doApplyEnvironment(const std::string &where, const LLSettingsDay::ptr_t &day);
+    void                        doApplyCommit(LLSettingsDay::ptr_t day);
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id);
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
@@ -194,6 +197,9 @@ private:
     LLButton*                   mDeleteFrameButton;
     LLButton*                   mImportButton;
     LLButton*                   mLoadFrame;
+    LLButton *                  mCloneTrack;
+    LLButton *                  mLoadTrack;
+    LLButton *                  mClearTrack;
     LLMultiSliderCtrl*	        mTimeSlider;
     LLMultiSliderCtrl*          mFramesSlider;
     LLView*                     mSkyTabLayoutContainer;
-- 
cgit v1.2.3


From d693c5350933e664e5131c98babc7fbb2b4571aa Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Tue, 22 Jan 2019 22:01:00 +0200
Subject: SL-1932 Day Cycle Edit feature "Load Track" Part 1

---
 indra/newview/llfloatereditextdaycycle.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 67a6f1e0e9..e808ab8a46 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -132,6 +132,8 @@ private:
 
     void                        checkAndConfirmSettingsLoss(on_confirm_fn cb);
 
+    void                        cloneTrack(U32 source_index, U32 dest_index);
+    void                        cloneTrack(const LLSettingsDay::ptr_t &source_day, U32 source_index, U32 dest_index);
 	void                        selectTrack(U32 track_index, bool force = false);
 	void                        selectFrame(F32 frame, F32 slop_factor);
 	void                        clearTabs();
@@ -160,8 +162,14 @@ private:
 
     void                        doOpenInventoryFloater(LLSettingsType::type_e type, LLUUID curritem);
     void                        doCloseInventoryFloater(bool quitting = false);
-    void                        onPickerCommitSetting(LLUUID item_id);
-    void                        onAssetLoadedForFrame(LLUUID item_id, LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 track, LLSettingsBase::TrackPosition frame);
+    void                        onPickerCommitSetting(LLUUID item_id, S32 track);
+    void                        onAssetLoadedForInsertion(LLUUID item_id,
+                                                          LLUUID asset_id,
+                                                          LLSettingsBase::ptr_t settings,
+                                                          S32 status,
+                                                          S32 source_track,
+                                                          S32 dest_track,
+                                                          LLSettingsBase::TrackPosition dest_frame);
 
     bool                        canUseInventory() const;
     bool                        canApplyRegion() const;
-- 
cgit v1.2.3


From ac865de287b2e740acd9f6a8724301146df73ccf Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Fri, 25 Jan 2019 22:02:16 +0200
Subject: SL-1945 Day Cycle Editor Copy Track

---
 indra/newview/llfloatereditextdaycycle.h | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index e808ab8a46..d780d5c993 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -160,6 +160,10 @@ private:
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
 
+    void                        doOpenTrackFloater();
+    void                        doCloseTrackFloater(bool quitting = false);
+    void                        onPickerCommitTrackId(U32 track_id);
+
     void                        doOpenInventoryFloater(LLSettingsType::type_e type, LLUUID curritem);
     void                        doCloseInventoryFloater(bool quitting = false);
     void                        onPickerCommitSetting(LLUUID item_id, S32 track);
@@ -218,6 +222,7 @@ private:
     LLFlyoutComboBtnCtrl *      mFlyoutControl;
 
     LLHandle<LLFloater>         mInventoryFloater;
+    LLHandle<LLFloater>         mTrackFloater;
 
     LLTrackBlenderLoopingManual::ptr_t  mSkyBlender;
     LLTrackBlenderLoopingManual::ptr_t  mWaterBlender;
-- 
cgit v1.2.3


From fd13bdef98c169c518685a223482c922aed5db06 Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Mon, 28 Jan 2019 18:32:47 +0200
Subject: SL-1945 Don't open floater if there is only one option to select from

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index d780d5c993..f50c9f7e5f 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -160,7 +160,7 @@ private:
     void                        onInventoryCreated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
     void                        onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results);
 
-    void                        doOpenTrackFloater();
+    void                        doOpenTrackFloater(const LLSD &args);
     void                        doCloseTrackFloater(bool quitting = false);
     void                        onPickerCommitTrackId(U32 track_id);
 
-- 
cgit v1.2.3


From aec5fc3607b8efb5cc3d035df978e59f9ac5bce2 Mon Sep 17 00:00:00 2001
From: andreykproductengine <andreykproductengine@lindenlab.com>
Date: Thu, 31 Jan 2019 18:45:37 +0200
Subject: SL-9924 EEP Environment Settings permissions can be dropped by Save
 As button

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index f50c9f7e5f..311bbd52dc 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -238,7 +238,7 @@ private:
     bool                        mIsDirty;
     bool                        mCanCopy;
     bool                        mCanMod;
-    bool                        mMakeNoTrans;
+    bool                        mCanTrans;
 
     edit_commit_signal_t        mCommitSignal;
 
-- 
cgit v1.2.3


From c42a364841f68e08bccb2ee288f34c8c3f4be733 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Mon, 25 Feb 2019 14:23:46 -0800
Subject: SL-10165: Using Load Sky/Water when over an existing keyframe
 replaces the old frame.

---
 indra/newview/llfloatereditextdaycycle.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 311bbd52dc..c271f15840 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -144,8 +144,9 @@ private:
 	void                        updateLabels();
 	void                        updateSlider(); //generate sliders from current track
 	void                        updateTimeAndLabel();
-	void                        addSliderFrame(const F32 frame, const LLSettingsBase::ptr_t &setting, bool update_ui = true);
-	void                        removeCurrentSliderFrame();
+	void                        addSliderFrame(F32 frame, const LLSettingsBase::ptr_t &setting, bool update_ui = true);
+    void                        removeCurrentSliderFrame();
+    void                        removeSliderFrame(F32 frame);
 
     void                        loadInventoryItem(const LLUUID  &inventoryId);
     void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
-- 
cgit v1.2.3


From 1f656735d339fc4d83da86efbb400af1361c27db Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Mon, 26 Aug 2019 11:43:45 -0700
Subject: SL-11705, SL-11706: New flags in llsettings base for tracking by
 simulator.

---
 indra/newview/llfloatereditextdaycycle.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index c271f15840..83ce69cff3 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -240,6 +240,7 @@ private:
     bool                        mCanCopy;
     bool                        mCanMod;
     bool                        mCanTrans;
+    bool                        mCanSave;
 
     edit_commit_signal_t        mCommitSignal;
 
-- 
cgit v1.2.3


From cc3cf17e5e335b6e78d86755e015161ab92c50db Mon Sep 17 00:00:00 2001
From: maxim_productengine <mnikolenko@productengine.com>
Date: Tue, 15 Oct 2019 18:07:55 +0300
Subject: SL-11907 Fixed assigning permissions to environment when using "Save
 As"

---
 indra/newview/llfloatereditextdaycycle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloatereditextdaycycle.h')

diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 83ce69cff3..b6e9fdb14f 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -148,7 +148,7 @@ private:
     void                        removeCurrentSliderFrame();
     void                        removeSliderFrame(F32 frame);
 
-    void                        loadInventoryItem(const LLUUID  &inventoryId);
+    void                        loadInventoryItem(const LLUUID  &inventoryId, bool can_trans = true);
     void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
 
     void                        doImportFromDisk();
-- 
cgit v1.2.3