diff options
| author | leyla_linden <none@none> | 2011-01-19 11:38:34 -0800 | 
|---|---|---|
| committer | leyla_linden <none@none> | 2011-01-19 11:38:34 -0800 | 
| commit | ca1c1eea78ff2ab83979a4308dd5a93ea0032fc8 (patch) | |
| tree | ffafba28cf0f0d2cc4e67fae7042e2a318fce1b1 /indra | |
| parent | b5e67321c3fa1e60e0973547372a5425e9d82efc (diff) | |
SH-808 Selectively enable/disable features in edit tools
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llcombobox.cpp | 4 | ||||
| -rw-r--r-- | indra/llui/llcombobox.h | 1 | ||||
| -rw-r--r-- | indra/newview/llfloatertools.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llpanelobject.cpp | 26 | 
4 files changed, 38 insertions, 0 deletions
| diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp index 8b6a73af56..701d1ff706 100644 --- a/indra/llui/llcombobox.cpp +++ b/indra/llui/llcombobox.cpp @@ -231,6 +231,10 @@ void	LLComboBox::resetDirty()  	}  } +bool LLComboBox::itemExists(const std::string& name) +{ +	return mList->getItemByLabel(name); +}  // add item "name" to menu  LLScrollListItem* LLComboBox::add(const std::string& name, EAddPosition pos, BOOL enabled) diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h index 74d64269bd..59beba509c 100644 --- a/indra/llui/llcombobox.h +++ b/indra/llui/llcombobox.h @@ -134,6 +134,7 @@ public:  	LLScrollListItem*	addSeparator(EAddPosition pos = ADD_BOTTOM);  	BOOL			remove( S32 index );	// remove item by index, return TRUE if found and removed  	void			removeall() { clearRows(); } +	bool			itemExists(const std::string& name);  	void			sortByName(BOOL ascending = TRUE); // Sort the entries in the combobox by name diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 920bdef7f6..49e24f8e3d 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -463,6 +463,13 @@ void LLFloaterTools::refresh()  	childSetEnabled("linked_set_cost", have_selection);  	childSetEnabled("object_cost", have_selection); +	bool enable_mesh = gSavedSettings.getBOOL("MeshEnabled"); + +	getChildView("linked_set_count")->setVisible(enable_mesh); +	getChildView("linked_set_cost")->setVisible(enable_mesh); +	getChildView("object_count")->setVisible(enable_mesh); +	getChildView("object_cost")->setVisible(enable_mesh); +  	// Refresh child tabs  	mPanelPermissions->refresh();  	mPanelObject->refresh(); diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 45e9a04fc2..73a8fbe3aa 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -1910,6 +1910,32 @@ void LLPanelObject::refresh()  	{  		mRootObject = NULL;  	} +	 +	bool enable_mesh = gSavedSettings.getBOOL("MeshEnabled"); + +	getChildView("label physicsshapetype")->setVisible(enable_mesh); +	getChildView("Physics Shape Type Combo Ctrl")->setVisible(enable_mesh); +	getChildView("Physics Gravity")->setVisible(enable_mesh); +	getChildView("Physics Material Override")->setVisible(enable_mesh); +	getChildView("Physics Friction")->setVisible(enable_mesh); +	getChildView("Physics Density")->setVisible(enable_mesh); +	getChildView("Physics Restitution")->setVisible(enable_mesh); + +	// if mesh isn't enabled we want to the scale max to be 10 +	getChild<LLSpinCtrl>("Scale X")->setMaxValue(enable_mesh ? 64 : 10); +	getChild<LLSpinCtrl>("Scale Y")->setMaxValue(enable_mesh ? 64 : 10); +	getChild<LLSpinCtrl>("Scale Z")->setMaxValue(enable_mesh ? 64 : 10); + +	LLComboBox* sculpt_combo = getChild<LLComboBox>("sculpt type control"); +	BOOL found = sculpt_combo->itemExists("Mesh"); +	if (enable_mesh && !found) +	{ +		sculpt_combo->add("Mesh"); +	} +	else if (!enable_mesh && found) +	{ +		sculpt_combo->remove("Mesh"); +	}  } | 
