diff options
Diffstat (limited to 'indra/newview/llfloatereditextdaycycle.h')
-rw-r--r-- | indra/newview/llfloatereditextdaycycle.h | 15 |
1 files changed, 13 insertions, 2 deletions
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; |