diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp index 036ff170743d90125f4eeca6f8b2cd4c0b842c09..4955ea8d147e7ef7e168f5cdc67bd8f4b55ebb46 100644 --- a/indra/newview/llcolorswatch.cpp +++ b/indra/newview/llcolorswatch.cpp @@ -128,10 +128,25 @@ BOOL LLColorSwatchCtrl::handleUnicodeCharHere(llwchar uni_char) return LLUICtrl::handleUnicodeCharHere(uni_char); } +// [SL:KB] - Patch: Control-ColorSwatchCtrl | Checked: 2012-08-28 (Catznip-3.3) +BOOL LLColorSwatchCtrl::isDirty() const +{ + return (mColor != mPrevColor); +} + +void LLColorSwatchCtrl::resetDirty() +{ + mPrevColor = mColor; +} +// [/SL:KB] + // forces color of this swatch and any associated floater to the input value, if currently invalid void LLColorSwatchCtrl::setOriginal(const LLColor4& color) { mColor = color; +// [SL:KB] - Patch: Control-ColorSwatchCtrl | Checked: 2012-08-28 (Catznip-3.3) + mPrevColor = mColor; +// [/SL:KB] LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get(); if (pickerp) { @@ -142,6 +157,9 @@ void LLColorSwatchCtrl::setOriginal(const LLColor4& color) void LLColorSwatchCtrl::set(const LLColor4& color, BOOL update_picker, BOOL from_event) { mColor = color; +// [SL:KB] - Patch: Control-ColorSwatchCtrl | Checked: 2012-08-28 (Catznip-3.3) + mPrevColor = mColor; +// [/SL:KB] LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get(); if (pickerp && update_picker) { diff --git a/indra/newview/llcolorswatch.h b/indra/newview/llcolorswatch.h index d8b48927228c351cee980db4139b820928553838..32cde80c0512f3e690418a9c9f01c2c6348e8d44 100644 --- a/indra/newview/llcolorswatch.h +++ b/indra/newview/llcolorswatch.h @@ -75,6 +75,10 @@ class LLColorSwatchCtrl final /*virtual*/ LLSD getValue() const { return mColor.getValue(); } const LLColor4& get() { return mColor; } +// [SL:KB] - Patch: Control-ColorSwatchCtrl | Checked: 2012-08-28 (Catznip-3.3) + /*virtual*/ BOOL isDirty() const; // Returns TRUE if user changed value at all + /*virtual*/ void resetDirty(); // Clear dirty state +// [/SL:KB] void set(const LLColor4& color, BOOL update_picker = FALSE, BOOL from_event = FALSE); void setOriginal(const LLColor4& color); @@ -103,6 +107,9 @@ class LLColorSwatchCtrl final protected: bool mValid; LLColor4 mColor; +// [SL:KB] - Patch: Control-ColorSwatchCtrl | Checked: 2012-08-28 (Catznip-3.3) + LLColor4 mPrevColor; +// [/SL:KB] LLUIColor mBorderColor; LLTextBox* mCaption; LLHandle<LLFloater> mPickerHandle;