diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/lltextbase.cpp | 4 | ||||
| -rw-r--r-- | indra/llui/llurlentry.cpp | 145 | ||||
| -rw-r--r-- | indra/llui/llurlentry.h | 66 | ||||
| -rw-r--r-- | indra/llui/llurlmatch.cpp | 4 | ||||
| -rw-r--r-- | indra/llui/llurlmatch.h | 8 | ||||
| -rw-r--r-- | indra/llui/llurlregistry.cpp | 9 | ||||
| -rw-r--r-- | indra/llui/tests/llurlentry_stub.cpp | 103 | ||||
| -rw-r--r-- | indra/llui/tests/llurlmatch_test.cpp | 132 | ||||
| -rw-r--r-- | indra/newview/llpanelplaceprofile.cpp | 2 | 
9 files changed, 434 insertions, 39 deletions
| diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 78312eba73..c93e6c7257 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1583,9 +1583,7 @@ void LLTextBase::appendText(const std::string &new_text, bool prepend_newline, c  			end = match.getEnd()+1;  			LLStyle::Params link_params = style_params; -			link_params.color = match.getColor(); -			link_params.readonly_color =  match.getColor(); -			link_params.font.style("UNDERLINE"); +			link_params.overwriteFrom(match.getStyle());  			link_params.link_href = match.getUrl();  			// output the text before the Url diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp index 36b644484d..7ba569408a 100644 --- a/indra/llui/llurlentry.cpp +++ b/indra/llui/llurlentry.cpp @@ -49,9 +49,11 @@ std::string localize_slapp_label(const std::string& url, const std::string& full  LLUrlEntryBase::LLUrlEntryBase() : -	mColor(LLUIColorTable::instance().getColor("HTMLLinkColor")),  	mDisabledLink(false)  { +	mStyle.color = LLUIColorTable::instance().getColor("HTMLLinkColor"); +	mStyle.readonly_color =  LLUIColorTable::instance().getColor("HTMLLinkColor"); +	mStyle.font.style("UNDERLINE");  }  LLUrlEntryBase::~LLUrlEntryBase() @@ -327,7 +329,8 @@ LLUrlEntryAgent::LLUrlEntryAgent()  							boost::regex::perl|boost::regex::icase);  	mMenuName = "menu_url_agent.xml";  	mIcon = "Generic_Person"; -	mColor = LLUIColorTable::instance().getColor("AgentLinkColor"); +	mStyle.color = LLUIColorTable::instance().getColor("AgentLinkColor"); +	mStyle.readonly_color = LLUIColorTable::instance().getColor("AgentLinkColor");  }  // virtual @@ -421,11 +424,8 @@ std::string LLUrlEntryAgent::getLabel(const std::string &url, const LLUrlLabelCa  	LLAvatarName av_name;  	if (LLAvatarNameCache::get(agent_id, &av_name))  	{ -		std::string label = av_name.mDisplayName; -		if (!av_name.mUsername.empty()) -		{ -			label += " (" + av_name.mUsername + ")"; -		} +		std::string label = av_name.getCompleteName(); +  		// handle suffixes like /mute or /offerteleport  		label = localize_slapp_label(url, label);  		return label; @@ -479,6 +479,134 @@ std::string LLUrlEntryAgent::getIcon(const std::string &url)  }  // +// LLUrlEntryAgentName describes a Second Life agent name Url, e.g., +// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/(completename|displayname|username) +// x-grid-location-info://lincoln.lindenlab.com/app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/(completename|displayname|username) +// +LLUrlEntryAgentName::LLUrlEntryAgentName() +{ +	mDisabledLink = true; +	mStyle.color.setProvided(false); +	mStyle.readonly_color.setProvided(false); +	mStyle.font.setProvided(false); +} + +// virtual +void LLUrlEntryAgentName::callObservers(const std::string &id, +								    const std::string &label, +								    const std::string &icon) +{ +	// notify all callbacks waiting on the given uuid +	std::multimap<std::string, LLUrlEntryObserver>::iterator it; +	for (it = mObservers.find(id); it != mObservers.end();) +	{ +		// call the callback - give it the new label +		LLUrlEntryObserver &observer = it->second; +		(*observer.signal)(observer.url, label, icon); +		// then remove the signal - we only need to call it once +		delete observer.signal; +		mObservers.erase(it++); +	} +} + +void LLUrlEntryAgentName::onAvatarNameCache(const LLUUID& id, +										const LLAvatarName& av_name) +{ +	std::string label = getName(av_name); +	// received the agent name from the server - tell our observers +	callObservers(id.asString(), label, mIcon); +} + +std::string LLUrlEntryAgentName::getLabel(const std::string &url, const LLUrlLabelCallback &cb) +{ +	if (!gCacheName) +	{ +		// probably at the login screen, use short string for layout +		return LLTrans::getString("LoadingData"); +	} + +	std::string agent_id_string = getIDStringFromUrl(url); +	if (agent_id_string.empty()) +	{ +		// something went wrong, just give raw url +		return unescapeUrl(url); +	} + +	LLUUID agent_id(agent_id_string); +	if (agent_id.isNull()) +	{ +		return LLTrans::getString("AvatarNameNobody"); +	} + +	LLAvatarName av_name; +	if (LLAvatarNameCache::get(agent_id, &av_name)) +	{ +		return getName(av_name); +	} +	else +	{ +		LLAvatarNameCache::get(agent_id, +			boost::bind(&LLUrlEntryAgentCompleteName::onAvatarNameCache, +				this, _1, _2)); +		addObserver(agent_id_string, url, cb); +		return LLTrans::getString("LoadingData"); +	} +} + +std::string LLUrlEntryAgentName::getUrl(const std::string &url) const +{ +	return LLStringUtil::null; +} + +// +// LLUrlEntryAgentCompleteName describes a Second Life agent complete name Url, e.g., +// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/completename +// x-grid-location-info://lincoln.lindenlab.com/app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/completename +// +LLUrlEntryAgentCompleteName::LLUrlEntryAgentCompleteName() +{ +	mPattern = boost::regex(APP_HEADER_REGEX "/agent/[\\da-f-]+/completename", +							boost::regex::perl|boost::regex::icase); +} + +std::string LLUrlEntryAgentCompleteName::getName(const LLAvatarName& avatar_name) +{ +	return avatar_name.getCompleteName(); +} + +// +// LLUrlEntryAgentDisplayName describes a Second Life agent display name Url, e.g., +// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/displayname +// x-grid-location-info://lincoln.lindenlab.com/app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/displayname +// +LLUrlEntryAgentDisplayName::LLUrlEntryAgentDisplayName() +{ +	mPattern = boost::regex(APP_HEADER_REGEX "/agent/[\\da-f-]+/displayname", +							boost::regex::perl|boost::regex::icase); +} + +std::string LLUrlEntryAgentDisplayName::getName(const LLAvatarName& avatar_name) +{ +	return avatar_name.mDisplayName; +} + +// +// LLUrlEntryAgentUserName describes a Second Life agent user name Url, e.g., +// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/username +// x-grid-location-info://lincoln.lindenlab.com/app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/username +// +LLUrlEntryAgentUserName::LLUrlEntryAgentUserName() +{ +	mPattern = boost::regex(APP_HEADER_REGEX "/agent/[\\da-f-]+/username", +							boost::regex::perl|boost::regex::icase); +} + +std::string LLUrlEntryAgentUserName::getName(const LLAvatarName& avatar_name) +{ +	return avatar_name.mUsername.empty() ? avatar_name.getLegacyName() : avatar_name.mUsername; +} + +//  // LLUrlEntryGroup Describes a Second Life group Url, e.g.,  // secondlife:///app/group/00005ff3-4044-c79f-9de8-fb28ae0df991/about  // secondlife:///app/group/00005ff3-4044-c79f-9de8-fb28ae0df991/inspect @@ -491,7 +619,8 @@ LLUrlEntryGroup::LLUrlEntryGroup()  	mMenuName = "menu_url_group.xml";  	mIcon = "Generic_Group";  	mTooltip = LLTrans::getString("TooltipGroupUrl"); -	mColor = LLUIColorTable::instance().getColor("GroupLinkColor"); +	mStyle.color = LLUIColorTable::instance().getColor("GroupLinkColor"); +	mStyle.readonly_color = LLUIColorTable::instance().getColor("GroupLinkColor");  }  void LLUrlEntryGroup::onGroupNameReceived(const LLUUID& id, diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h index 0abf7a603f..21d4c29b2b 100644 --- a/indra/llui/llurlentry.h +++ b/indra/llui/llurlentry.h @@ -36,6 +36,7 @@  #include "lluuid.h"  #include "lluicolor.h" +#include "llstyle.h"  #include <boost/signals2.hpp>  #include <boost/regex.hpp>  #include <string> @@ -82,8 +83,8 @@ public:  	/// Return an icon that can be displayed next to Urls of this type  	virtual std::string getIcon(const std::string &url); -	/// Return the color to render the displayed text -	LLUIColor getColor() const { return mColor; } +	/// Return the style to render the displayed text +	LLStyle::Params getStyle() const { return mStyle; }  	/// Given a matched Url, return a tooltip string for the hyperlink  	virtual std::string getTooltip(const std::string &string) const { return mTooltip; } @@ -115,7 +116,7 @@ protected:  	std::string                                    	mIcon;  	std::string                                    	mMenuName;  	std::string                                    	mTooltip; -	LLUIColor										mColor; +	LLStyle::Params									mStyle;  	std::multimap<std::string, LLUrlEntryObserver>	mObservers;  	bool                                            mDisabledLink;  }; @@ -180,6 +181,65 @@ private:  };  /// +/// LLUrlEntryAgentName Describes a Second Life agent name Url, e.g., +/// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/(completename|displayname|username) +/// that displays various forms of user name +/// This is a base class for the various implementations of name display +class LLUrlEntryAgentName : public LLUrlEntryBase +{ +public: +	LLUrlEntryAgentName(); +	/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb); +	/*virtual*/ std::string getUrl(const std::string &string) const; +protected: +	/*virtual*/ void callObservers(const std::string &id, const std::string &label, const std::string& icon); +	// override this to pull out relevant name fields +	virtual std::string getName(const LLAvatarName& avatar_name) = 0; +private: +	void onAvatarNameCache(const LLUUID& id, const LLAvatarName& av_name); +}; + + +/// +/// LLUrlEntryAgentCompleteName Describes a Second Life agent name Url, e.g., +/// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/completename +/// that displays the full display name + user name for an avatar +/// such as "James Linden (james.linden)" +class LLUrlEntryAgentCompleteName : public LLUrlEntryAgentName +{ +public: +	LLUrlEntryAgentCompleteName(); +private: +	/*virtual*/ std::string getName(const LLAvatarName& avatar_name); +}; + +/// +/// LLUrlEntryAgentDisplayName Describes a Second Life agent display name Url, e.g., +/// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/displayname +/// that displays the just the display name for an avatar +/// such as "James Linden" +class LLUrlEntryAgentDisplayName : public LLUrlEntryAgentName +{ +public: +	LLUrlEntryAgentDisplayName(); +private: +	/*virtual*/ std::string getName(const LLAvatarName& avatar_name); +}; + +/// +/// LLUrlEntryAgentUserName Describes a Second Life agent username Url, e.g., +/// secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/username +/// that displays the just the display name for an avatar +/// such as "james.linden" +class LLUrlEntryAgentUserName : public LLUrlEntryAgentName +{ +public: +	LLUrlEntryAgentUserName(); +private: +	/*virtual*/ std::string getName(const LLAvatarName& avatar_name); +}; + +///  /// LLUrlEntryGroup Describes a Second Life group Url, e.g.,  /// secondlife:///app/group/00005ff3-4044-c79f-9de8-fb28ae0df991/about  /// diff --git a/indra/llui/llurlmatch.cpp b/indra/llui/llurlmatch.cpp index 72a199c220..8a7e2e162b 100644 --- a/indra/llui/llurlmatch.cpp +++ b/indra/llui/llurlmatch.cpp @@ -49,7 +49,7 @@ LLUrlMatch::LLUrlMatch() :  void LLUrlMatch::setValues(U32 start, U32 end, const std::string &url,  						   const std::string &label, const std::string &tooltip, -						   const std::string &icon, const LLUIColor& color, +						   const std::string &icon, const LLStyle::Params& style,  						   const std::string &menu, const std::string &location,  						   bool disabled_link)  { @@ -59,7 +59,7 @@ void LLUrlMatch::setValues(U32 start, U32 end, const std::string &url,  	mLabel = label;  	mTooltip = tooltip;  	mIcon = icon; -	mColor = color; +	mStyle = style;  	mMenuName = menu;  	mLocation = location;  	mDisabledLink = disabled_link; diff --git a/indra/llui/llurlmatch.h b/indra/llui/llurlmatch.h index e86762548b..92a87c3d4c 100644 --- a/indra/llui/llurlmatch.h +++ b/indra/llui/llurlmatch.h @@ -38,7 +38,7 @@  #include <string>  #include <vector> -#include "lluicolor.h" +#include "llstyle.h"  ///  /// LLUrlMatch describes a single Url that was matched within a string by  @@ -75,7 +75,7 @@ public:  	std::string getIcon() const { return mIcon; }  	/// Return the color to render the displayed text -	LLUIColor getColor() const { return mColor; } +	LLStyle::Params getStyle() const { return mStyle; }  	/// Return the name of a XUI file containing the context menu items  	std::string getMenuName() const { return mMenuName; } @@ -89,7 +89,7 @@ public:  	/// Change the contents of this match object (used by LLUrlRegistry)  	void setValues(U32 start, U32 end, const std::string &url, const std::string &label,  	               const std::string &tooltip, const std::string &icon, -				   const LLUIColor& color, const std::string &menu,  +				   const LLStyle::Params& style, const std::string &menu,   				   const std::string &location, bool disabled_link);  private: @@ -101,7 +101,7 @@ private:  	std::string mIcon;  	std::string mMenuName;  	std::string mLocation; -	LLUIColor	mColor; +	LLStyle::Params mStyle;  	bool        mDisabledLink;  }; diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp index 7a866f44c2..f61603545f 100644 --- a/indra/llui/llurlregistry.cpp +++ b/indra/llui/llurlregistry.cpp @@ -51,6 +51,11 @@ LLUrlRegistry::LLUrlRegistry()  	registerUrl(new LLUrlEntrySLURL());  	registerUrl(new LLUrlEntryHTTP());  	registerUrl(new LLUrlEntryHTTPLabel()); +	registerUrl(new LLUrlEntryAgentCompleteName()); +	registerUrl(new LLUrlEntryAgentDisplayName()); +	registerUrl(new LLUrlEntryAgentUserName()); +	// LLUrlEntryAgent*Name must appear before LLUrlEntryAgent since  +	// LLUrlEntryAgent is a less specific (catchall for agent urls)  	registerUrl(new LLUrlEntryAgent());  	registerUrl(new LLUrlEntryGroup());  	registerUrl(new LLUrlEntryParcel()); @@ -185,7 +190,7 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL  						match_entry->getLabel(url, cb),  						match_entry->getTooltip(url),  						match_entry->getIcon(url), -						match_entry->getColor(), +						match_entry->getStyle(),  						match_entry->getMenuName(),  						match_entry->getLocation(url),  						match_entry->isLinkDisabled()); @@ -219,7 +224,7 @@ bool LLUrlRegistry::findUrl(const LLWString &text, LLUrlMatch &match, const LLUr  						match.getLabel(),  						match.getTooltip(),  						match.getIcon(), -						match.getColor(), +						match.getStyle(),  						match.getMenuName(),  						match.getLocation(),  						match.isLinkDisabled()); diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index e984f5cf81..5c57ac786e 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -79,3 +79,106 @@ std::string LLTrans::getString(const std::string &xml_desc, const LLStringUtil::  {  	return std::string();  } + +// +// Stub implementation for LLStyle::Params::Params +// + +LLStyle::Params::Params() +{ +} + +// +// Stub implementations for various LLInitParam classes +// + +namespace LLInitParam +{ +	BaseBlock::BaseBlock() {} +	BaseBlock::~BaseBlock() {} +	Param::Param(BaseBlock* enclosing_block) +	:	mIsProvided(false) +	{ +		const U8* my_addr = reinterpret_cast<const U8*>(this); +		const U8* block_addr = reinterpret_cast<const U8*>(enclosing_block); +		mEnclosingBlockOffset = (U16)(my_addr - block_addr); +	} +	void BaseBlock::setLastChangedParam(const Param& last_param, bool user_provided) {} + +	void BaseBlock::addParam(BlockDescriptor& block_data, const ParamDescriptor& in_param, const char* char_name){} +	param_handle_t BaseBlock::getHandleFromParam(const Param* param) const {return 0;} +	 +	void BaseBlock::init(BlockDescriptor& descriptor, BlockDescriptor& base_descriptor, size_t block_size) +	{ +		mBlockDescriptor = &descriptor; +		descriptor.mCurrentBlockPtr = this; +	} +	bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack){ return true; } +	bool BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const { return true; } +	bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack) const { return true; } +	bool BaseBlock::merge(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } +	bool BaseBlock::validateBlock(bool emit_errors) const { return true; } + +	TypedParam<LLUIColor >::TypedParam(BlockDescriptor& descriptor, const char* name, const LLUIColor& value, ParamDescriptor::validation_func_t func, S32 min_count, S32 max_count) +	:	super_t(descriptor, name, value, func, min_count, max_count) +	{} + +	void TypedParam<LLUIColor>::setValueFromBlock() const +	{} +	 +	void TypedParam<LLUIColor>::setBlockFromValue() +	{} + +	void TypeValues<LLUIColor>::declareValues() +	{} + +	bool ParamCompare<const LLFontGL*, false>::equals(const LLFontGL* a, const LLFontGL* b) +	{ +		return false; +	} + +	TypedParam<const LLFontGL*>::TypedParam(BlockDescriptor& descriptor, const char* _name, const LLFontGL*const value, ParamDescriptor::validation_func_t func, S32 min_count, S32 max_count) +	:	super_t(descriptor, _name, value, func, min_count, max_count) +	{} + +	void TypedParam<const LLFontGL*>::setValueFromBlock() const +	{} +	 +	void TypedParam<const LLFontGL*>::setBlockFromValue() +	{} + +	void TypeValues<LLFontGL::HAlign>::declareValues() +	{} + +	void TypeValues<LLFontGL::VAlign>::declareValues() +	{} + +	void TypeValues<LLFontGL::ShadowType>::declareValues() +	{} + +	void TypedParam<LLUIImage*>::setValueFromBlock() const +	{} +	 +	void TypedParam<LLUIImage*>::setBlockFromValue() +	{} + +	 +	bool ParamCompare<LLUIImage*, false>::equals( +		LLUIImage* const &a, +		LLUIImage* const &b) +	{ +		return false; +	} + +	bool ParamCompare<LLUIColor, false>::equals(const LLUIColor &a, const LLUIColor &b) +	{ +		return false; +	} + +} + +//static +LLFontGL* LLFontGL::getFontDefault() +{ +	return NULL;  +} diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index 24a32de268..ab5770dbf2 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -23,11 +23,111 @@  #include "../llurlmatch.h"  #include "lltut.h" -// link seam +// link seams +  LLUIColor::LLUIColor()  	: mColorPtr(NULL)  {} +LLStyle::Params::Params() +{ +} + +namespace LLInitParam +{ +	BaseBlock::BaseBlock() {} +	BaseBlock::~BaseBlock() {} + +	void BaseBlock::setLastChangedParam(const Param& last_param, bool user_provided) {} + +	void BaseBlock::addParam(BlockDescriptor& block_data, const ParamDescriptor& in_param, const char* char_name){} +	param_handle_t BaseBlock::getHandleFromParam(const Param* param) const {return 0;} +	 +	void BaseBlock::init(BlockDescriptor& descriptor, BlockDescriptor& base_descriptor, size_t block_size) +	{ +		mBlockDescriptor = &descriptor; +		descriptor.mCurrentBlockPtr = this; +	} + +	Param::Param(BaseBlock* enclosing_block) +	:	mIsProvided(false) +	{ +		const U8* my_addr = reinterpret_cast<const U8*>(this); +		const U8* block_addr = reinterpret_cast<const U8*>(enclosing_block); +		mEnclosingBlockOffset = (U16)(my_addr - block_addr); +	} + +	bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack){ return true; } +	bool BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const { return true; } +	bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack) const { return true; } +	bool BaseBlock::merge(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } +	bool BaseBlock::validateBlock(bool emit_errors) const { return true; } + +	TypedParam<LLUIColor >::TypedParam(BlockDescriptor& descriptor, const char* name, const LLUIColor& value, ParamDescriptor::validation_func_t func, S32 min_count, S32 max_count) +	:	super_t(descriptor, name, value, func, min_count, max_count) +	{} + +	void TypedParam<LLUIColor>::setValueFromBlock() const +	{} +	 +	void TypedParam<LLUIColor>::setBlockFromValue() +	{} + +	void TypeValues<LLUIColor>::declareValues() +	{} + +	bool ParamCompare<const LLFontGL*, false>::equals(const LLFontGL* a, const LLFontGL* b) +	{ +		return false; +	} + +	TypedParam<const LLFontGL*>::TypedParam(BlockDescriptor& descriptor, const char* _name, const LLFontGL*const value, ParamDescriptor::validation_func_t func, S32 min_count, S32 max_count) +	:	super_t(descriptor, _name, value, func, min_count, max_count) +	{} + +	void TypedParam<const LLFontGL*>::setValueFromBlock() const +	{} +	 +	void TypedParam<const LLFontGL*>::setBlockFromValue() +	{} + +	void TypeValues<LLFontGL::HAlign>::declareValues() +	{} + +	void TypeValues<LLFontGL::VAlign>::declareValues() +	{} + +	void TypeValues<LLFontGL::ShadowType>::declareValues() +	{} + +	void TypedParam<LLUIImage*>::setValueFromBlock() const +	{} +	 +	void TypedParam<LLUIImage*>::setBlockFromValue() +	{} + +	 +	bool ParamCompare<LLUIImage*, false>::equals( +		LLUIImage* const &a, +		LLUIImage* const &b) +	{ +		return false; +	} + +	bool ParamCompare<LLUIColor, false>::equals(const LLUIColor &a, const LLUIColor &b) +	{ +		return false; +	} + +} + +//static +LLFontGL* LLFontGL::getFontDefault() +{ +	return NULL;  +} + +  namespace tut  {  	struct LLUrlMatchData @@ -54,7 +154,7 @@ namespace tut  		LLUrlMatch match;  		ensure("empty()", match.empty()); -		match.setValues(0, 1, "http://secondlife.com", "Second Life", "", "", LLUIColor(), "", "", false); +		match.setValues(0, 1, "http://secondlife.com", "Second Life", "", "", LLStyle::Params(), "", "", false);  		ensure("! empty()", ! match.empty());  	} @@ -67,7 +167,7 @@ namespace tut  		LLUrlMatch match;  		ensure_equals("getStart() == 0", match.getStart(), 0); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getStart() == 10", match.getStart(), 10);  	} @@ -80,7 +180,7 @@ namespace tut  		LLUrlMatch match;  		ensure_equals("getEnd() == 0", match.getEnd(), 0); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getEnd() == 20", match.getEnd(), 20);  	} @@ -93,10 +193,10 @@ namespace tut  		LLUrlMatch match;  		ensure_equals("getUrl() == ''", match.getUrl(), ""); -		match.setValues(10, 20, "http://slurl.com/", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "http://slurl.com/", "", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getUrl() == 'http://slurl.com/'", match.getUrl(), "http://slurl.com/"); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getUrl() == '' (2)", match.getUrl(), "");  	} @@ -109,10 +209,10 @@ namespace tut  		LLUrlMatch match;  		ensure_equals("getLabel() == ''", match.getLabel(), ""); -		match.setValues(10, 20, "", "Label", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "Label", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getLabel() == 'Label'", match.getLabel(), "Label"); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getLabel() == '' (2)", match.getLabel(), "");  	} @@ -125,10 +225,10 @@ namespace tut  		LLUrlMatch match;  		ensure_equals("getTooltip() == ''", match.getTooltip(), ""); -		match.setValues(10, 20, "", "", "Info", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "Info", "", LLStyle::Params(), "", "", false);  		ensure_equals("getTooltip() == 'Info'", match.getTooltip(), "Info"); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getTooltip() == '' (2)", match.getTooltip(), "");  	} @@ -141,10 +241,10 @@ namespace tut  		LLUrlMatch match;  		ensure_equals("getIcon() == ''", match.getIcon(), ""); -		match.setValues(10, 20, "", "", "", "Icon", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "Icon", LLStyle::Params(), "", "", false);  		ensure_equals("getIcon() == 'Icon'", match.getIcon(), "Icon"); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure_equals("getIcon() == '' (2)", match.getIcon(), "");  	} @@ -157,10 +257,10 @@ namespace tut  		LLUrlMatch match;  		ensure("getMenuName() empty", match.getMenuName().empty()); -		match.setValues(10, 20, "", "", "", "Icon", LLUIColor(), "xui_file.xml", "", false); +		match.setValues(10, 20, "", "", "", "Icon", LLStyle::Params(), "xui_file.xml", "", false);  		ensure_equals("getMenuName() == \"xui_file.xml\"", match.getMenuName(), "xui_file.xml"); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure("getMenuName() empty (2)", match.getMenuName().empty());  	} @@ -173,10 +273,10 @@ namespace tut  		LLUrlMatch match;  		ensure("getLocation() empty", match.getLocation().empty()); -		match.setValues(10, 20, "", "", "", "Icon", LLUIColor(), "xui_file.xml", "Paris", false); +		match.setValues(10, 20, "", "", "", "Icon", LLStyle::Params(), "xui_file.xml", "Paris", false);  		ensure_equals("getLocation() == \"Paris\"", match.getLocation(), "Paris"); -		match.setValues(10, 20, "", "", "", "", LLUIColor(), "", "", false); +		match.setValues(10, 20, "", "", "", "", LLStyle::Params(), "", "", false);  		ensure("getLocation() empty (2)", match.getLocation().empty());  	}  } diff --git a/indra/newview/llpanelplaceprofile.cpp b/indra/newview/llpanelplaceprofile.cpp index 4a5be96a5e..23171d5ff2 100644 --- a/indra/newview/llpanelplaceprofile.cpp +++ b/indra/newview/llpanelplaceprofile.cpp @@ -50,7 +50,7 @@  #include "llagentui.h"  #include "llappviewer.h"  #include "llcallbacklist.h" -#include "llfloaterbuycurrency.h" +#include "llbuycurrencyhtml.h"  #include "llslurl.h"  #include "llstatusbar.h"  #include "llviewercontrol.h" | 
