From 8776d50ef4e8f6b522a9dad48cced664eecc268c Mon Sep 17 00:00:00 2001 From: Zi Ree Date: Fri, 29 Dec 2023 20:28:05 +0100 Subject: [PATCH] Add label / caption color support to color swatches --- indra/newview/llcolorswatch.cpp | 21 ++++++++++++++++++++- indra/newview/llcolorswatch.h | 12 ++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp index 036ff17074..d772a92745 100644 --- a/indra/newview/llcolorswatch.cpp +++ b/indra/newview/llcolorswatch.cpp @@ -52,6 +52,8 @@ LLColorSwatchCtrl::Params::Params() border_color("border_color"), label_width("label_width", -1), label_height("label_height", -1), + text_enabled_color("text_enabled_color"), // Add label/caption colors + text_disabled_color("text_disabled_color"), // Add label/caption colors caption_text("caption_text"), border("border") { @@ -66,6 +68,8 @@ LLColorSwatchCtrl::LLColorSwatchCtrl(const Params& p) mOnCancelCallback(p.cancel_callback()), mOnSelectCallback(p.select_callback()), mBorderColor(p.border_color()), + mTextEnabledColor(p.text_enabled_color), // Add label/caption colors + mTextDisabledColor(p.text_disabled_color), // Add label/caption colors mLabelWidth(p.label_width), mLabelHeight(p.label_height) { @@ -95,6 +99,8 @@ LLColorSwatchCtrl::LLColorSwatchCtrl(const Params& p) params.rect(border_rect); mBorder = LLUICtrlFactory::create (params); addChild(mBorder); + + updateLabelColor(); // Add label/caption colors } LLColorSwatchCtrl::~LLColorSwatchCtrl () @@ -250,12 +256,18 @@ void LLColorSwatchCtrl::draw() } } + mCaption->setEnabled(getEnabled() && isInEnabledChain()); // Add label/caption colors + LLUICtrl::draw(); } void LLColorSwatchCtrl::setEnabled( BOOL enabled ) { - mCaption->setEnabled( enabled ); + // Add label/caption colors + // mCaption->setEnabled( enabled ); + mCaption->setEnabled(enabled && isInEnabledChain()); + // + LLView::setEnabled( enabled ); if (!enabled) @@ -374,3 +386,10 @@ void LLColorSwatchCtrl::showPicker(BOOL take_focus) } } +// Add label/caption colors +void LLColorSwatchCtrl::updateLabelColor() +{ + mCaption->setColor(mTextEnabledColor.get()); + mCaption->setReadOnlyColor(mTextDisabledColor.get()); +} +// diff --git a/indra/newview/llcolorswatch.h b/indra/newview/llcolorswatch.h index a17cab486a..5c0afe3d1f 100644 --- a/indra/newview/llcolorswatch.h +++ b/indra/newview/llcolorswatch.h @@ -62,6 +62,10 @@ public: Optional caption_text; Optional border; + + Optional text_enabled_color; // Add label/caption colors + Optional text_disabled_color; // Add label/caption colors + Params(); }; @@ -100,7 +104,12 @@ public: static void onColorChanged ( void* data, EColorPickOp pick_op = COLOR_CHANGE ); void closeFloaterColorPicker(); + void setLabelColor(const LLColor4& c) { mTextEnabledColor = c; updateLabelColor(); } // Add label/caption colors + void setDisabledLabelColor(const LLColor4& c) { mTextDisabledColor = c; updateLabelColor(); } // Add label/caption colors + protected: + void updateLabelColor(); // Add label/caption colors + bool mValid; LLColor4 mColor; LLUIColor mBorderColor; @@ -116,6 +125,9 @@ protected: LLPointer mAlphaGradientImage; LLPointer mFallbackImage; + + LLUIColor mTextEnabledColor; // Add label/caption colors + LLUIColor mTextDisabledColor; // Add label/caption colors }; #endif // LL_LLBUTTON_H