diff options
Diffstat (limited to 'indra/llui')
| -rw-r--r-- | indra/llui/llfloater.cpp | 38 | ||||
| -rw-r--r-- | indra/llui/llfloater.h | 4 | 
2 files changed, 35 insertions, 7 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 0c4c857022..ff90806271 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -519,6 +519,36 @@ void LLFloater::storeDockStateControl()  	}  } +LLRect LLFloater::getSavedRect() const +{ +	LLRect rect; + +	if (mRectControl.size() > 1) +	{ +		rect = LLUI::sSettingGroups["floater"]->getRect(mRectControl); +	} + +	return rect; +} + +bool LLFloater::hasSavedRect() const +{ +	return !getSavedRect().isEmpty(); +} + +// static +std::string LLFloater::getControlName(const std::string& name, const LLSD& key) +{ +	std::string ctrl_name = name; + +	// Add the key to the control name if appropriate. +	if (key.isString() && !key.asString().empty()) +	{ +		ctrl_name += "_" + key.asString(); +	} + +	return ctrl_name; +}  void LLFloater::setVisible( BOOL visible )  { @@ -2664,13 +2694,7 @@ void LLFloater::setInstanceName(const std::string& name)  	mInstanceName = name;  	if (!mInstanceName.empty())  	{ -		std::string ctrl_name = mInstanceName; - -		// Add the key to the control name if appropriate. -		if (mKey.isString() && !mKey.asString().empty()) -		{ -			ctrl_name += "_" + mKey.asString(); -		} +		std::string ctrl_name = getControlName(mInstanceName, mKey);  		// save_rect and save_visibility only apply to registered floaters  		if (!mRectControl.empty()) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 5e482cbac3..ed1f0715af 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -203,6 +203,10 @@ public:  	BOOL			isResizable() const				{ return mResizable; }  	void			setResizeLimits( S32 min_width, S32 min_height );  	void			getResizeLimits( S32* min_width, S32* min_height ) { *min_width = mMinWidth; *min_height = mMinHeight; } +	LLRect			getSavedRect() const; +	bool			hasSavedRect() const; + +	static std::string	getControlName(const std::string& name, const LLSD& key);  	bool			isMinimizeable() const{ return mCanMinimize; }  	bool			isCloseable() const{ return mCanClose; }  | 
