diff options
author | Dessie Linden <dessie@lindenlab.com> | 2010-07-06 13:22:22 -0700 |
---|---|---|
committer | Dessie Linden <dessie@lindenlab.com> | 2010-07-06 13:22:22 -0700 |
commit | a1c46ac2921d8e6aee018002eee280d9c6bb4cee (patch) | |
tree | afbd1e6a8e5e64357ceb2193e505f6a217d758bd /indra/llui/lltextutil.cpp | |
parent | 3de5be44adb91d3a7e1ff3ca8b415964a722ce49 (diff) | |
parent | dc6c35e353b991db2651d26bc76e5b3ee9921157 (diff) |
Merged from viewer-release after resolving conflicts
Diffstat (limited to 'indra/llui/lltextutil.cpp')
-rw-r--r-- | indra/llui/lltextutil.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/indra/llui/lltextutil.cpp b/indra/llui/lltextutil.cpp index c5f3929fb1..56664071b7 100644 --- a/indra/llui/lltextutil.cpp +++ b/indra/llui/lltextutil.cpp @@ -34,7 +34,9 @@ #include "lluicolor.h" #include "lltextbox.h" +#include "llurlmatch.h" +boost::function<bool(LLUrlMatch*,LLTextBase*)> LLTextUtil::TextHelpers::iconCallbackCreationFunction = 0; void LLTextUtil::textboxSetHighlightedVal(LLTextBox *txtbox, const LLStyle::Params& normal_style, const std::string& text, const std::string& hl) { @@ -76,4 +78,36 @@ const std::string& LLTextUtil::formatPhoneNumber(const std::string& phone_str) return formatted_phone_str; } +bool LLTextUtil::processUrlMatch(LLUrlMatch* match,LLTextBase* text_base) +{ + if (match == 0 || text_base == 0) + return false; + + if(match->getID() != LLUUID::null && TextHelpers::iconCallbackCreationFunction) + { + bool segment_created = TextHelpers::iconCallbackCreationFunction(match,text_base); + if(segment_created) + return true; + } + + // output an optional icon before the Url + if (!match->getIcon().empty() ) + { + LLUIImagePtr image = LLUI::getUIImage(match->getIcon()); + if (image) + { + LLStyle::Params icon; + icon.image = image; + // Text will be replaced during rendering with the icon, + // but string cannot be empty or the segment won't be + // added (or drawn). + text_base->appendImageSegment(icon); + + return true; + } + } + + return false; +} + // EOF |