From 7a54ce3cf686d872425c3230b305156b83a36b26 Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Tue, 22 Jun 2010 13:42:55 -0700
Subject: EXT-7729 WIP  LLWARNS: Tons of "Making dummy class..." warnings on
 startup reviewed by Leyla

---
 indra/llui/llfloater.cpp                           |   4 +-
 indra/llui/llfloater.h                             |   2 +-
 indra/llui/lluictrlfactory.cpp                     |   2 +-
 indra/llui/llview.cpp                              |   2 +
 indra/llui/llview.h                                |   4 +-
 indra/newview/llfloaterpreference.cpp              |  13 +++
 indra/newview/llfloaterpreference.h                |   1 +
 indra/newview/llfloatertools.cpp                   |   4 -
 indra/newview/llfloatertools.h                     |   1 -
 indra/newview/llfloaterworldmap.cpp                |  32 +++---
 indra/newview/llfloaterworldmap.h                  |   2 +-
 indra/newview/llpanelavatar.cpp                    |  45 ---------
 indra/newview/llpanelavatar.h                      |  11 ---
 indra/newview/llpanelnearbymedia.cpp               |   4 +-
 indra/newview/llpanelobject.cpp                    |   7 --
 indra/newview/llpanelobject.h                      |   2 -
 indra/newview/llpanelvolumepulldown.cpp            |   4 +-
 indra/newview/llsidepaneliteminfo.cpp              |   8 --
 indra/newview/llstatusbar.cpp                      |   2 -
 indra/newview/llwearabletype.cpp                   |   1 -
 indra/newview/skins/default/textures/textures.xml  |   4 +
 .../textures/widgets/ScrollArrow_Down_Opaque.png   | Bin 0 -> 355 bytes
 .../widgets/ScrollArrow_Down_Over_Opaque.png       | Bin 0 -> 315 bytes
 .../textures/widgets/ScrollArrow_Up_Opaque.png     | Bin 0 -> 352 bytes
 .../widgets/ScrollArrow_Up_Over_Opaque.png         | Bin 0 -> 329 bytes
 .../newview/skins/default/xui/en/alert_button.xml  |   2 +-
 .../newview/skins/default/xui/en/floater_event.xml |   2 -
 .../newview/skins/default/xui/en/floater_tools.xml | 107 +++++++++++++--------
 .../skins/default/xui/en/panel_classified_info.xml |   1 -
 .../skins/default/xui/en/panel_edit_classified.xml |   1 -
 .../skins/default/xui/en/panel_navigation_bar.xml  |   4 -
 .../skins/default/xui/en/panel_nearby_media.xml    |   3 -
 .../default/xui/en/panel_preferences_privacy.xml   |   7 +-
 .../skins/default/xui/en/panel_topinfo_bar.xml     |   1 -
 .../skins/default/xui/en/sidepanel_item_info.xml   |   2 -
 .../skins/default/xui/en/sidepanel_task_info.xml   |   1 -
 indra/newview/skins/default/xui/en/strings.xml     |   3 +-
 .../default/xui/en/widgets/search_combo_box.xml    |   7 +-
 38 files changed, 118 insertions(+), 178 deletions(-)
 create mode 100644 indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Opaque.png
 create mode 100644 indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over_Opaque.png
 create mode 100644 indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Opaque.png
 create mode 100644 indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over_Opaque.png

(limited to 'indra')

diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 9a56372e68..39a6855273 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -2754,10 +2754,10 @@ void LLFloater::initFromParams(const LLFloater::Params& p)
 
 LLFastTimer::DeclareTimer POST_BUILD("Floater Post Build");
 
-bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr output_node)
+bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::string& filename, LLXMLNodePtr output_node)
 {
 	Params params(LLUICtrlFactory::getDefaultParams<LLFloater>());
-	LLXUIParser::instance().readXUI(node, params); // *TODO: Error checking
+	LLXUIParser::instance().readXUI(node, params, filename); // *TODO: Error checking
 
 	if (output_node)
 	{
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 654164ddc0..3ea035777c 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -149,7 +149,7 @@ public:
 	static void setupParamsForExport(Params& p, LLView* parent);
 
 	void initFromParams(const LLFloater::Params& p);
-	bool initFloaterXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr output_node = NULL);
+	bool initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::string& filename, LLXMLNodePtr output_node = NULL);
 
 	/*virtual*/ void handleReshape(const LLRect& new_rect, bool by_user = false);
 	/*virtual*/ BOOL canSnapTo(const LLView* other_view);
diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp
index 930dadc377..4dd155f8e5 100644
--- a/indra/llui/lluictrlfactory.cpp
+++ b/indra/llui/lluictrlfactory.cpp
@@ -222,7 +222,7 @@ bool LLUICtrlFactory::buildFloater(LLFloater* floaterp, const std::string& filen
 		floaterp->getCommitCallbackRegistrar().pushScope();
 		floaterp->getEnableCallbackRegistrar().pushScope();
 		
-		res = floaterp->initFloaterXML(root, floaterp->getParent(), output_node);
+		res = floaterp->initFloaterXML(root, floaterp->getParent(), filename, output_node);
 
 		floaterp->setXMLFilename(filename);
 		
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index bd56da9121..394ec957d5 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -111,6 +111,8 @@ LLView::Params::Params()
 	user_resize("user_resize"),
 	auto_resize("auto_resize"),
 	needs_translate("translate"),
+	min_width("min_width"),
+	max_width("max_width"),
 	xmlns("xmlns"),
 	xmlns_xsi("xmlns:xsi"),
 	xsi_schemaLocation("xsi:schemaLocation"),
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 3779fedf34..9ff6a4e1a0 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -148,6 +148,8 @@ public:
 		Ignored						user_resize,
 									auto_resize,
 									needs_translate,
+									min_width,
+									max_width,
 									xmlns,
 									xmlns_xsi,
 									xsi_schemaLocation,
@@ -634,7 +636,7 @@ template <class T> T* LLView::getChild(const std::string& name, BOOL recurse) co
 		// did we find *something* with that name?
 		if (child)
 		{
-			llwarns << "Found child named " << name << " but of wrong type " << typeid(*child).name() << ", expecting " << typeid(T*).name() << llendl;
+			llwarns << "Found child named \"" << name << "\" but of wrong type " << typeid(*child).name() << ", expecting " << typeid(T*).name() << llendl;
 		}
 		result = getDefaultWidget<T>(name);
 		if (!result)
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index f450b199c8..3ce1b46a4c 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -70,6 +70,7 @@
 #include "llscrolllistctrl.h"
 #include "llscrolllistitem.h"
 #include "llsliderctrl.h"
+#include "llsidetray.h"
 #include "lltabcontainer.h"
 #include "lltrans.h"
 #include "llviewercontrol.h"
@@ -309,6 +310,7 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
 	mCommitCallbackRegistrar.add("Pref.applyUIColor",			boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2));
 	mCommitCallbackRegistrar.add("Pref.getUIColor",				boost::bind(&LLFloaterPreference::getUIColor, this ,_1, _2));
 	mCommitCallbackRegistrar.add("Pref.MaturitySettings",		boost::bind(&LLFloaterPreference::onChangeMaturity, this));
+	mCommitCallbackRegistrar.add("Pref.BlockList",				boost::bind(&LLFloaterPreference::onClickBlockList, this));
 
 	sSkin = gSavedSettings.getString("SkinCurrent");
 }
@@ -1225,6 +1227,17 @@ void LLFloaterPreference::onChangeMaturity()
 	getChild<LLIconCtrl>("rating_icon_adult")->setVisible(sim_access == SIM_ACCESS_ADULT);
 }
 
+// FIXME: this will stop you from spawning the sidetray from preferences dialog on login screen
+// but the UI for this will still be enabled
+void LLFloaterPreference::onClickBlockList()
+{
+	// don't create side tray on demand
+	if (LLSideTray::instanceCreated())
+	{
+		LLSideTray::getInstance()->showPanel("panel_block_list_sidetray");
+	}
+}
+
 
 void LLFloaterPreference::applyUIColor(LLUICtrl* ctrl, const LLSD& param)
 {
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index b45e09db7d..0df1b61dcb 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -141,6 +141,7 @@ public:
 	void onCommitMusicEnabled();
 	void applyResolution();
 	void onChangeMaturity();
+	void onClickBlockList();
 	void applyUIColor(LLUICtrl* ctrl, const LLSD& param);
 	void getUIColor(LLUICtrl* ctrl, const LLSD& param);
 	
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index a42f6ee00f..565f0619a5 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -235,7 +235,6 @@ BOOL	LLFloaterTools::postBuild()
 	childSetValue("checkbox uniform",(BOOL)gSavedSettings.getBOOL("ScaleUniform"));
 	mCheckStretchTexture	= getChild<LLCheckBoxCtrl>("checkbox stretch textures");
 	childSetValue("checkbox stretch textures",(BOOL)gSavedSettings.getBOOL("ScaleStretchTextures"));
-	mTextGridMode			= getChild<LLTextBox>("text ruler mode");
 	mComboGridMode			= getChild<LLComboBox>("combobox grid mode");
 	mCheckStretchUniformLabel = getChild<LLTextBox>("checkbox uniform label");
 
@@ -313,7 +312,6 @@ LLFloaterTools::LLFloaterTools(const LLSD& key)
 	mCheckSnapToGrid(NULL),
 	mBtnGridOptions(NULL),
 	mTitleMedia(NULL),
-	mTextGridMode(NULL),
 	mComboGridMode(NULL),
 	mCheckStretchUniform(NULL),
 	mCheckStretchTexture(NULL),
@@ -625,8 +623,6 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
 
 		mComboGridMode->setCurrentByIndex(index);
 	}
-	if (mTextGridMode) mTextGridMode->setVisible( edit_visible );
-
 	// Snap to grid disabled for grab tool - very confusing
 	if (mCheckSnapToGrid) mCheckSnapToGrid->setVisible( edit_visible /* || tool == LLToolGrab::getInstance() */ );
 	if (mBtnGridOptions) mBtnGridOptions->setVisible( edit_visible /* || tool == LLToolGrab::getInstance() */ );
diff --git a/indra/newview/llfloatertools.h b/indra/newview/llfloatertools.h
index 91431969bb..7aa319a441 100644
--- a/indra/newview/llfloatertools.h
+++ b/indra/newview/llfloatertools.h
@@ -144,7 +144,6 @@ public:
 
 	LLCheckBoxCtrl*	mCheckSnapToGrid;
 	LLButton*		mBtnGridOptions;
-	LLTextBox*		mTextGridMode;
 	LLComboBox*		mComboGridMode;
 	LLCheckBoxCtrl*	mCheckStretchUniform;
 	LLCheckBoxCtrl*	mCheckStretchTexture;
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index 152360a96e..fbe77047e3 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -56,7 +56,7 @@
 #include "llinventorymodelbackgroundfetch.h"
 #include "llinventoryobserver.h"
 #include "lllandmarklist.h"
-#include "lllineeditor.h"
+#include "llsearcheditor.h"
 #include "llnotificationsutil.h"
 #include "llregionhandle.h"
 #include "llscrolllistctrl.h"
@@ -229,30 +229,20 @@ BOOL LLFloaterWorldMap::postBuild()
 	mPanel = getChild<LLPanel>("objects_mapview");
 
 	LLComboBox *avatar_combo = getChild<LLComboBox>("friend combo");
-	if (avatar_combo)
-	{
-		avatar_combo->selectFirstItem();
-		avatar_combo->setPrearrangeCallback( boost::bind(&LLFloaterWorldMap::onAvatarComboPrearrange, this) );
-		avatar_combo->setTextEntryCallback( boost::bind(&LLFloaterWorldMap::onComboTextEntry, this) );
-	}
+	avatar_combo->selectFirstItem();
+	avatar_combo->setPrearrangeCallback( boost::bind(&LLFloaterWorldMap::onAvatarComboPrearrange, this) );
+	avatar_combo->setTextEntryCallback( boost::bind(&LLFloaterWorldMap::onComboTextEntry, this) );
 
-	getChild<LLScrollListCtrl>("location")->setFocusChangedCallback(boost::bind(&LLFloaterWorldMap::onLocationFocusChanged, this, _1));
-
-	LLLineEditor *location_editor = getChild<LLLineEditor>("location");
-	if (location_editor)
-	{
-		location_editor->setKeystrokeCallback( boost::bind(&LLFloaterWorldMap::onSearchTextEntry, this, _1), NULL );
-	}
+	LLSearchEditor *location_editor = getChild<LLSearchEditor>("location");
+	location_editor->setFocusChangedCallback(boost::bind(&LLFloaterWorldMap::onLocationFocusChanged, this, _1));
+	location_editor->setKeystrokeCallback( boost::bind(&LLFloaterWorldMap::onSearchTextEntry, this));
 	
 	getChild<LLScrollListCtrl>("search_results")->setDoubleClickCallback( boost::bind(&LLFloaterWorldMap::onClickTeleportBtn, this));
 
 	LLComboBox *landmark_combo = getChild<LLComboBox>( "landmark combo");
-	if (landmark_combo)
-	{
-		landmark_combo->selectFirstItem();
-		landmark_combo->setPrearrangeCallback( boost::bind(&LLFloaterWorldMap::onLandmarkComboPrearrange, this) );
-		landmark_combo->setTextEntryCallback( boost::bind(&LLFloaterWorldMap::onComboTextEntry, this) );
-	}
+	landmark_combo->selectFirstItem();
+	landmark_combo->setPrearrangeCallback( boost::bind(&LLFloaterWorldMap::onLandmarkComboPrearrange, this) );
+	landmark_combo->setTextEntryCallback( boost::bind(&LLFloaterWorldMap::onComboTextEntry, this) );
 
 	mCurZoomVal = log(LLWorldMapView::sMapScale)/log(2.f);
 	childSetValue("zoom slider", LLWorldMapView::sMapScale);
@@ -1003,7 +993,7 @@ void LLFloaterWorldMap::onComboTextEntry()
 	LLTracker::clearFocus();
 }
 
-void LLFloaterWorldMap::onSearchTextEntry( LLLineEditor* ctrl )
+void LLFloaterWorldMap::onSearchTextEntry( )
 {
 	onComboTextEntry();
 	updateSearchEnabled();
diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h
index 52809ff830..de515c689e 100644
--- a/indra/newview/llfloaterworldmap.h
+++ b/indra/newview/llfloaterworldmap.h
@@ -123,7 +123,7 @@ protected:
 	void		    onAvatarComboCommit();
 
 	void			onComboTextEntry( );
-	void			onSearchTextEntry( LLLineEditor* ctrl );
+	void			onSearchTextEntry( );
 
 	void			onClearBtn();
 	void			onClickTeleportBtn();
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index 0b31ffc9a0..8a21785a93 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -843,9 +843,6 @@ BOOL LLPanelMyProfile::postBuild()
 {
 	LLPanelAvatarProfile::postBuild();
 
-	mStatusCombobox = getChild<LLComboBox>("status_combo");
-
-	childSetCommitCallback("status_combo", boost::bind(&LLPanelMyProfile::onStatusChanged, this), NULL);
 	childSetCommitCallback("status_me_message_text", boost::bind(&LLPanelMyProfile::onStatusMessageChanged, this), NULL);
 
 	resetControls();
@@ -865,30 +862,9 @@ void LLPanelMyProfile::processProfileProperties(const LLAvatarData* avatar_data)
 
 	fillPartnerData(avatar_data);
 
-	fillStatusData(avatar_data);
-
 	fillAccountStatus(avatar_data);
 }
 
-void LLPanelMyProfile::fillStatusData(const LLAvatarData* avatar_data)
-{
-	std::string status;
-	if (gAgent.getAFK())
-	{
-		status = "away";
-	}
-	else if (gAgent.getBusy())
-	{
-		status = "busy";
-	}
-	else
-	{
-		status = "online";
-	}
-
-	mStatusCombobox->setValue(status);
-}
-
 void LLPanelMyProfile::resetControls()
 {
 	childSetVisible("status_panel", false);
@@ -899,27 +875,6 @@ void LLPanelMyProfile::resetControls()
 	childSetVisible("profile_me_buttons_panel", true);
 }
 
-void LLPanelMyProfile::onStatusChanged()
-{
-	LLSD::String status = mStatusCombobox->getValue().asString();
-
-	if ("online" == status)
-	{
-		gAgent.clearAFK();
-		gAgent.clearBusy();
-	}
-	else if ("away" == status)
-	{
-		gAgent.clearBusy();
-		gAgent.setAFK();
-	}
-	else if ("busy" == status)
-	{
-		gAgent.clearAFK();
-		gAgent.setBusy();
-		LLNotificationsUtil::add("BusyModeSet");
-	}
-}
 
 void LLPanelMyProfile::onStatusMessageChanged()
 {
diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h
index bb8df2ff9c..ac2765df28 100644
--- a/indra/newview/llpanelavatar.h
+++ b/indra/newview/llpanelavatar.h
@@ -240,21 +240,10 @@ protected:
 
 	/*virtual*/ void processProfileProperties(const LLAvatarData* avatar_data);
 
-	/**
-	 * Fills Avatar status data.
-	 */
-	virtual void fillStatusData(const LLAvatarData* avatar_data);
-
 	/*virtual*/ void resetControls();
 
 protected:
-
-	void onStatusChanged();
 	void onStatusMessageChanged();
-
-private:
-
-	LLComboBox* mStatusCombobox;
 };
 
 /**
diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp
index 6411cd802d..a162bc9dbc 100644
--- a/indra/newview/llpanelnearbymedia.cpp
+++ b/indra/newview/llpanelnearbymedia.cpp
@@ -224,8 +224,8 @@ void LLPanelNearByMedia::reshape(S32 width, S32 height, BOOL called_from_parent)
 {
 	LLPanel::reshape(width, height, called_from_parent);
 
-	LLButton* more_less_btn = getChild<LLButton>("more_less_btn");
-	if (more_less_btn->getValue().asBoolean())
+	LLButton* more_btn = getChild<LLButton>("more_btn");
+	if (more_btn->getValue().asBoolean())
 	{
 		mMoreRect = getRect();
 	}
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index 30221da12a..a1b3114bb4 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -172,7 +172,6 @@ BOOL	LLPanelObject::postBuild()
 	//--------------------------------------------------------
 		
 	// material type popup
-	mLabelMaterial = getChild<LLTextBox>("label material");
 	mComboMaterial = getChild<LLComboBox>("material");
 	childSetCommitCallback("material",onCommitMaterial,this);
 	mComboMaterial->removeall();
@@ -189,7 +188,6 @@ BOOL	LLPanelObject::postBuild()
 	mComboMaterialItemCount = mComboMaterial->getItemCount();
 
 	// Base Type
-	mLabelBaseType = getChild<LLTextBox>("label basetype");
 	mComboBaseType = getChild<LLComboBox>("comboBaseType");
 	childSetCommitCallback("comboBaseType",onCommitParametric,this);
 
@@ -548,7 +546,6 @@ void LLPanelObject::getState( )
 	if (editable && single_volume && material_same)
 	{
 		mComboMaterial->setEnabled( TRUE );
-		mLabelMaterial->setEnabled( TRUE );
 		if (material_code == LL_MCODE_LIGHT)
 		{
 			if (mComboMaterial->getItemCount() == mComboMaterialItemCount)
@@ -570,7 +567,6 @@ void LLPanelObject::getState( )
 	else
 	{
 		mComboMaterial->setEnabled( FALSE );
-		mLabelMaterial->setEnabled( FALSE );	
 	}
 	//----------------------------------------------------------------------------
 
@@ -979,7 +975,6 @@ void LLPanelObject::getState( )
 	}
 
 	// Update field enablement
-	mLabelBaseType	->setEnabled( enabled );
 	mComboBaseType	->setEnabled( enabled );
 
 	mLabelCut		->setEnabled( enabled );
@@ -1910,12 +1905,10 @@ void LLPanelObject::clearCtrls()
 	mCheckCastShadows->setEnabled( FALSE );
 #endif
 	mComboMaterial	->setEnabled( FALSE );
-	mLabelMaterial	->setEnabled( FALSE );
 	// Disable text labels
 	mLabelPosition	->setEnabled( FALSE );
 	mLabelSize		->setEnabled( FALSE );
 	mLabelRotation	->setEnabled( FALSE );
-	mLabelBaseType	->setEnabled( FALSE );
 	mLabelCut		->setEnabled( FALSE );
 	mLabelHollow	->setEnabled( FALSE );
 	mLabelHoleType	->setEnabled( FALSE );
diff --git a/indra/newview/llpanelobject.h b/indra/newview/llpanelobject.h
index 58d9fe9b76..b4e1eee8fb 100644
--- a/indra/newview/llpanelobject.h
+++ b/indra/newview/llpanelobject.h
@@ -101,11 +101,9 @@ protected:
 protected:
 	S32				mComboMaterialItemCount;
 
-	LLTextBox*		mLabelMaterial;
 	LLComboBox*		mComboMaterial;
 	
 	// Per-object options
-	LLTextBox*		mLabelBaseType;
 	LLComboBox*		mComboBaseType;
 
 	LLTextBox*		mLabelCut;
diff --git a/indra/newview/llpanelvolumepulldown.cpp b/indra/newview/llpanelvolumepulldown.cpp
index ae52bd3703..7d70a8a891 100644
--- a/indra/newview/llpanelvolumepulldown.cpp
+++ b/indra/newview/llpanelvolumepulldown.cpp
@@ -44,7 +44,7 @@
 #include "lltabcontainer.h"
 #include "llfloaterreg.h"
 #include "llfloaterpreference.h"
-#include "llslider.h"
+#include "llsliderctrl.h"
 
 /* static */ const F32 LLPanelVolumePulldown::sAutoCloseFadeStartTimeSec = 4.0f;
 /* static */ const F32 LLPanelVolumePulldown::sAutoCloseTotalTimeSec = 5.0f;
@@ -66,7 +66,7 @@ LLPanelVolumePulldown::LLPanelVolumePulldown()
 BOOL LLPanelVolumePulldown::postBuild()
 {
 	// set the initial volume-slider's position to reflect reality
-	LLSlider* volslider =  getChild<LLSlider>( "mastervolume" );
+	LLSliderCtrl* volslider =  getChild<LLSliderCtrl>( "mastervolume" );
 	volslider->setValue(gSavedSettings.getF32("AudioLevelMaster"));
 
 	return LLPanel::postBuild();
diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp
index 0ec351965a..6ccd89dddb 100644
--- a/indra/newview/llsidepaneliteminfo.cpp
+++ b/indra/newview/llsidepaneliteminfo.cpp
@@ -131,7 +131,6 @@ BOOL LLSidepanelItemInfo::postBuild()
 	getChild<LLUICtrl>("CheckNextOwnerTransfer")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onCommitPermissions, this));
 	// Mark for sale or not, and sale info
 	getChild<LLUICtrl>("CheckPurchase")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onCommitSaleInfo, this));
-	getChild<LLUICtrl>("RadioSaleType")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onCommitSaleType, this));
 	// "Price" label for edit
 	getChild<LLUICtrl>("Edit Cost")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onCommitSaleInfo, this));
 	refresh();
@@ -189,7 +188,6 @@ void LLSidepanelItemInfo::refresh()
 			"CheckNextOwnerCopy",
 			"CheckNextOwnerTransfer",
 			"CheckPurchase",
-			"RadioSaleType",
 			"Edit Cost"
 		};
 
@@ -364,7 +362,6 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 		"CheckNextOwnerTransfer",
 		"CheckPurchase",
 		"SaleLabel",
-		"RadioSaleType",
 		"combobox sale copy",
 		"Edit Cost",
 		"TextPrice"
@@ -559,7 +556,6 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 		childSetEnabled("CheckNextOwnerCopy",(base_mask & PERM_COPY) && !cannot_restrict_permissions);
 		childSetEnabled("CheckNextOwnerTransfer",(next_owner_mask & PERM_COPY) && !cannot_restrict_permissions);
 
-		childSetEnabled("RadioSaleType",is_complete && is_for_sale);
 		childSetEnabled("TextPrice",is_complete && is_for_sale);
 		childSetEnabled("Edit Cost",is_complete && is_for_sale);
 	}
@@ -573,7 +569,6 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 		childSetEnabled("CheckNextOwnerCopy",FALSE);
 		childSetEnabled("CheckNextOwnerTransfer",FALSE);
 
-		childSetEnabled("RadioSaleType",FALSE);
 		childSetEnabled("TextPrice",FALSE);
 		childSetEnabled("Edit Cost",FALSE);
 	}
@@ -586,17 +581,14 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	childSetValue("CheckNextOwnerCopy",LLSD(BOOL(next_owner_mask & PERM_COPY)));
 	childSetValue("CheckNextOwnerTransfer",LLSD(BOOL(next_owner_mask & PERM_TRANSFER)));
 
-	LLRadioGroup* radioSaleType = getChild<LLRadioGroup>("RadioSaleType");
 	if (is_for_sale)
 	{
-		radioSaleType->setSelectedIndex((S32)sale_info.getSaleType() - 1);
 		S32 numerical_price;
 		numerical_price = sale_info.getSalePrice();
 		childSetText("Edit Cost",llformat("%d",numerical_price));
 	}
 	else
 	{
-		radioSaleType->setSelectedIndex(-1);
 		childSetText("Edit Cost",llformat("%d",0));
 	}
 }
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 8c8fbdc88c..c39b2ad0b5 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -184,8 +184,6 @@ BOOL LLStatusBar::postBuild()
 	mTextHealth = getChild<LLTextBox>("HealthText" );
 	mTextTime = getChild<LLTextBox>("TimeText" );
 	
-	getChild<LLUICtrl>("buycurrency")->setCommitCallback( 
-		boost::bind(&LLStatusBar::onClickBuyCurrency, this));
 	getChild<LLUICtrl>("buyL")->setCommitCallback(
 		boost::bind(&LLStatusBar::onClickBuyCurrency, this));
 
diff --git a/indra/newview/llwearabletype.cpp b/indra/newview/llwearabletype.cpp
index 2a14ace38c..b9b48fd55a 100644
--- a/indra/newview/llwearabletype.cpp
+++ b/indra/newview/llwearabletype.cpp
@@ -85,7 +85,6 @@ LLWearableDictionary::LLWearableDictionary()
 	addEntry(LLWearableType::WT_TATTOO,       new WearableEntry("tattoo",      "New Tattoo",		LLAssetType::AT_CLOTHING, 	LLInventoryIcon::ICONNAME_CLOTHING_TATTOO));
 	addEntry(LLWearableType::WT_INVALID,      new WearableEntry("invalid",     "Invalid Wearable", 	LLAssetType::AT_NONE, 		LLInventoryIcon::ICONNAME_NONE));
 	addEntry(LLWearableType::WT_NONE,      	  new WearableEntry("none",        "Invalid Wearable", 	LLAssetType::AT_NONE, 		LLInventoryIcon::ICONNAME_NONE));
-	addEntry(LLWearableType::WT_COUNT,        new WearableEntry("count",        "Invalid Wearable", 	LLAssetType::AT_NONE, 		LLInventoryIcon::ICONNAME_NONE));
 }
 
 // static
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index cf632c085f..ff75b3d6c3 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -579,6 +579,10 @@ with the same filename but different name
   <texture name="scrollbutton_left_in_blue.tga" file_name="widgets/ScrollArrow_Left_Over_Opaque.png" />
   <texture name="scrollbutton_right_out_blue.tga" file_name="widgets/ScrollArrow_Right_Opaque.png" />
   <texture name="scrollbutton_right_in_blue.tga" file_name="widgets/ScrollArrow_Right_Over_Opaque.png" />
+  <texture name="scrollbutton_up_out_blue.tga" file_name="widgets/ScrollArrow_Up_Opaque.png" />
+  <texture name="scrollbutton_up_in_blue.tga" file_name="widgets/ScrollArrow_Up_Over_Opaque.png" />
+  <texture name="scrollbutton_down_out_blue.tga" file_name="widgets/ScrollArrow_Down_Opaque.png" />
+  <texture name="scrollbutton_down_in_blue.tga" file_name="widgets/ScrollArrow_Down_Over_Opaque.png" />
 
   <texture name="up_arrow.tga" file_name="up_arrow.png" />
   <texture name="down_arrow.tga" file_name="down_arrow.png" />
diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Opaque.png
new file mode 100644
index 0000000000..a396380fb2
Binary files /dev/null and b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Opaque.png differ
diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over_Opaque.png
new file mode 100644
index 0000000000..9568dea78a
Binary files /dev/null and b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over_Opaque.png differ
diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Opaque.png
new file mode 100644
index 0000000000..67a7a5568b
Binary files /dev/null and b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Opaque.png differ
diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over_Opaque.png
new file mode 100644
index 0000000000..0cc8c4404b
Binary files /dev/null and b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over_Opaque.png differ
diff --git a/indra/newview/skins/default/xui/en/alert_button.xml b/indra/newview/skins/default/xui/en/alert_button.xml
index 632564d793..a60e9afab1 100644
--- a/indra/newview/skins/default/xui/en/alert_button.xml
+++ b/indra/newview/skins/default/xui/en/alert_button.xml
@@ -5,7 +5,7 @@
   label_shadow="true"
   auto_resize="false"
   image_overlay_alignment="center"
-  use_ellipses="flse"
+  use_ellipses="false"
   pad_right="10"
   pad_left="10"
   is_toggle="false"
diff --git a/indra/newview/skins/default/xui/en/floater_event.xml b/indra/newview/skins/default/xui/en/floater_event.xml
index d9c9d63c72..887cedc33f 100644
--- a/indra/newview/skins/default/xui/en/floater_event.xml
+++ b/indra/newview/skins/default/xui/en/floater_event.xml
@@ -266,7 +266,6 @@
            layout="topleft"
            left="6"
        name="create_event_btn"
-           picture_style="true"
            tool_tip="Create Event"
            width="18" />
       <button
@@ -280,7 +279,6 @@
            left="6"
            top_pad="-7" 
           name="god_delete_event_btn"
-           picture_style="true"
            tool_tip="Delete Event"
            width="18" />
       <button
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index efc1a66d95..2ff832b27a 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -335,7 +335,6 @@
     </combo_box>
     <button
      left_pad="0"
-     image_disabled="ForwardArrow_Disabled"
      image_selected="ForwardArrow_Press"
      image_unselected="ForwardArrow_Off"
      layout="topleft"
@@ -1012,7 +1011,7 @@
             follows="left|top"
             allow_text_entry="false"
             height="23"
-            intial_value="2"
+            initial_value="2"
             max_chars="20"
             mouse_opaque="true"
             name="sale type"
@@ -2176,8 +2175,6 @@ even though the user gets a free copy.
              width="60" />
             <color_swatch
              can_apply_immediately="true"
-	     bevel_style="none"
-	     border_style="line"
              color="0.5 0.5 0.5 1"
 	     border.border_thickness="0"
              follows="left|top"
@@ -2212,43 +2209,71 @@ even though the user gets a free copy.
              name="Light Intensity"
              top_pad="3"
              width="128" />
-          <spinner bottom_delta="0" decimal_digits="3" follows="left|top" height="16"
- increment="0.1" initial_val="0.5" label="FOV" label_width="55"
- left="144" max_val="3" min_val="0" mouse_opaque="true"
- name="Light FOV" width="120" />
-          <spinner
-             follows="left|top"
-             height="19"
-             initial_value="5"
-             label="Radius"
-             label_width="70"
-             layout="topleft"
-             left="10"
-             max_val="20"
-             name="Light Radius"
-             top_pad="3"
-             width="128" />
-          <spinner bottom_delta="0" decimal_digits="3" follows="left|top" height="16"
-        increment="0.5" initial_val="0.5" label="Focus" label_width="55"
-        left="144" max_val="20" min_val="-20" mouse_opaque="true"
-        name="Light Focus" width="120" />
-            <spinner
-             follows="left|top"
-             height="19"
-             increment="0.25"
-             initial_value="1"
-             label="Falloff"
-             label_width="70"
-             layout="topleft"
-             left="10"
-             max_val="2"
-             name="Light Falloff"
-             top_pad="3"
-             width="128" />
-          <spinner bottom_delta="0" decimal_digits="3" follows="left|top" height="16"
-           increment="0.05" initial_val="1" label="Ambiance" label_width="55"
-           left="144" max_val="1" min_val="0" mouse_opaque="true"
-           name="Light Ambiance" width="120" />
+          <spinner bottom_delta="0"
+                   decimal_digits="3"
+                   follows="left|top"
+                   height="16"
+                   increment="0.1"
+                   initial_value="0.5"
+                   label="FOV"
+                   label_width="55"
+                   left="144"
+                   max_val="3"
+                   min_val="0"
+                   mouse_opaque="true"
+                   name="Light FOV"
+                   width="120" />
+          <spinner follows="left|top"
+                   height="19"
+                   initial_value="5"
+                   label="Radius"
+                   label_width="70"
+                   layout="topleft"
+                   left="10"
+                   max_val="20"
+                   name="Light Radius"
+                   top_pad="3"
+                   width="128" />
+          <spinner bottom_delta="0"
+                   decimal_digits="3"
+                   follows="left|top"
+                   height="16"
+                   increment="0.5"
+                   initial_value="0.5"
+                   label="Focus"
+                   label_width="55"
+                   left="144"
+                   max_val="20"
+                   min_val="-20"
+                   mouse_opaque="true"
+                   name="Light Focus"
+                   width="120" />
+          <spinner follows="left|top"
+                   height="19"
+                   increment="0.25"
+                   initial_value="1"
+                   label="Falloff"
+                   label_width="70"
+                   layout="topleft"
+                   left="10"
+                   max_val="2"
+                   name="Light Falloff"
+                   top_pad="3"
+                   width="128" />
+          <spinner bottom_delta="0"
+                   decimal_digits="3"
+                   follows="left|top"
+                   height="16"
+                   increment="0.05"
+                   initial_value="1"
+                   label="Ambiance"
+                   label_width="55"
+                   left="144"
+                   max_val="1"
+                   min_val="0"
+                   mouse_opaque="true"
+                   name="Light Ambiance"
+                   width="120" />
         </panel>
          <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml
index 976f6d6cd0..b7fd9773f2 100644
--- a/indra/newview/skins/default/xui/en/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml
@@ -46,7 +46,6 @@
      image_unselected="BackButton_Off"
      layout="topleft"
      name="back_btn"
-     picture_style="true"
      left="10"
      tab_stop="false"
      top="2"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
index 6744a7b9c2..3f41973b72 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
@@ -30,7 +30,6 @@
      image_unselected="BackButton_Off"
      layout="topleft"
      name="back_btn"
-     picture_style="true"
      left="10"
      tab_stop="false"
      top="2"
diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
index 96c76576c0..00b1fdd843 100644
--- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
@@ -113,10 +113,6 @@
 	<!--      top_delta="0" -->
 	<!--      width="168" /> -->
         <search_combo_box
-	     bevel_style="none"
-	     border_style="line"
-	     border.border_thickness="0"
-	     commit_on_focus_lost="false"
 	     follows="right|top"
 	     halign="right"
 	     height="23"
diff --git a/indra/newview/skins/default/xui/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml
index f5a78fc929..d8675b3512 100644
--- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml
@@ -1,7 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <panel
-	can_resize="true"
-	can_close="false"
  bg_opaque_image="Volume_Background" 
  bg_alpha_image="Volume_Background" 
   background_opaque="true"
@@ -58,7 +56,6 @@
 		top_delta="0"
 		left_pad="4"
 		height="22"
-		min_width="28"
 		width="28">
 	  <button.commit_callback
 		  function="MediaListCtrl.GoMediaPrefs" />
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
index fca9b4bca1..4ebd4c76f8 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
@@ -162,8 +162,9 @@
      name="block_list"
      top_pad="20"
      width="145">
-        <button.commit_callback
-         function="SideTray.ShowPanel"
-		 parameter="panel_block_list_sidetray" />
+        <!--<button.commit_callback
+         function="SideTray.ShowPanel"-->
+      <button.commit_callback
+         function="Pref.BlockList"/>
     </button>
     </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml b/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml
index d3fb77f135..d8f4297e0c 100644
--- a/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml
@@ -10,7 +10,6 @@
  name="topinfo_bar"
  width="1024">
   <button
-    border="true"
     follows="left|top"
     height="16"
     hover_glow_amount="0.15"
diff --git a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml
index b3bc618eec..eaa4c03d04 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml
@@ -1,11 +1,9 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <panel
-	 auto_tile="true"
 	 height="570"
 	 layout="topleft"
 	 name="item properties"
 	 help_topic="item_properties"
-	 save_rect="true"
 	 title="Object Profile"
 	 width="333">
 	<panel.string
diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
index faa1ae4e8b..30346319df 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
@@ -219,7 +219,6 @@
 			 left_pad="0"
 			 top_delta="0"
 			 name="button set group"
-			 picture_style="true"
 			 tab_stop="false"
 			 tool_tip="Choose a group to share this object's permissions"
 			 width="10" />
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 68eea8dc9a..e30c081ba1 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -1812,7 +1812,8 @@ Clears (deletes) the media and all params from the given face.
 	<string name="skirt">Skirt</string>
 	<string name="alpha">Alpha</string>
 	<string name="tattoo">Tattoo</string>
-	<string name="invalid">invalid</string>
+  <string name="invalid">invalid</string>
+  <string name="none">none</string>
   
   <!-- Not Worn Wearable Types -->
 	<string name="shirt_not_worn">Shirt not worn</string>
diff --git a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
index 5d429d5b5b..ce84cfedc0 100644
--- a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
+++ b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
@@ -1,15 +1,12 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <search_combo_box
  allow_text_entry="true"
- list_position="BELOW"
+ list_position="below"
  show_text_as_tentative="false"
  dropdown_button_visible="false"
  max_chars="256"
  name="parent"
- allow_new_values="true"
- background_image="TextField_Search_Off"
- background_image_disabled="TextField_Search_Disabled"
- background_image_focused="TextField_Search_Active">
+ allow_new_values="true">
  <combo_editor
   name="child1"
   select_on_focus="true"
-- 
cgit v1.2.3


From 6e961cd9f244bc979f653c8ee468617c280d0e9e Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Tue, 22 Jun 2010 18:26:29 -0700
Subject: EXT-7729 WIP  LLWARNS: Tons of "Making dummy class..." warnings on
 startup improved filename output for XUI parser errors

---
 indra/llui/llmenugl.cpp                            |  3 +-
 indra/llui/llmenugl.h                              |  3 +-
 indra/llui/llpanel.cpp                             |  9 ++--
 indra/llui/llui.cpp                                | 48 ++++++++++++++++++++--
 indra/llui/lluictrlfactory.cpp                     | 27 ++++++++++--
 indra/llui/lluictrlfactory.h                       |  8 ++--
 indra/newview/llpanelnearbymedia.cpp               |  4 +-
 indra/newview/llstatusbar.cpp                      | 16 --------
 indra/newview/llstatusbar.h                        |  1 -
 indra/newview/skins/default/xui/en/menu_edit.xml   |  1 +
 .../skins/default/xui/en/panel_main_inventory.xml  |  2 -
 .../newview/skins/default/xui/en/panel_people.xml  | 10 -----
 indra/newview/skins/default/xui/en/panel_picks.xml |  2 -
 indra/newview/skins/default/xui/en/panel_toast.xml |  2 -
 .../skins/default/xui/en/sidepanel_task_info.xml   |  2 -
 indra/newview/skins/paths.xml                      | 10 ++++-
 16 files changed, 94 insertions(+), 54 deletions(-)

(limited to 'indra')

diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index b77126996e..b4a1bcb7c5 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -139,6 +139,7 @@ LLMenuItemGL::Params::Params()
 :	shortcut("shortcut"),
 	jump_key("jump_key", KEY_NONE),
 	use_mac_ctrl("use_mac_ctrl", false),
+	allow_key_repeat("allow_key_repeat", false),
 	rect("rect"),
 	left("left"),
 	top("top"),
@@ -160,7 +161,7 @@ LLMenuItemGL::Params::Params()
 LLMenuItemGL::LLMenuItemGL(const LLMenuItemGL::Params& p)
 :	LLUICtrl(p),
 	mJumpKey(p.jump_key),
-	mAllowKeyRepeat(FALSE),
+	mAllowKeyRepeat(p.allow_key_repeat),
 	mHighlight( FALSE ),
 	mGotHover( FALSE ),
 	mBriefItem( FALSE ),
diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h
index 6f0f83d4b9..7668f301ea 100644
--- a/indra/llui/llmenugl.h
+++ b/indra/llui/llmenugl.h
@@ -61,7 +61,8 @@ public:
 	{
 		Optional<std::string>	shortcut;
 		Optional<KEY>			jump_key;
-		Optional<bool>			use_mac_ctrl;
+		Optional<bool>			use_mac_ctrl,
+								allow_key_repeat;
 
 		Ignored					rect,
 								left,
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index 0cd052eefa..9ebdcb87c6 100644
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -508,16 +508,19 @@ BOOL LLPanel::initPanelXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr outpu
 		if (xml_filename.empty())
 		{
 			node->getAttributeString("filename", xml_filename);
+			setXMLFilename(xml_filename);
 		}
 
 		if (!xml_filename.empty())
 		{
+			LLUICtrlFactory::instance().pushFileName(xml_filename);
+
 			LLFastTimer timer(FTM_EXTERNAL_PANEL_LOAD);
 			if (output_node)
 			{
 				//if we are exporting, we want to export the current xml
 				//not the referenced xml
-				LLXUIParser::instance().readXUI(node, params, xml_filename);
+				LLXUIParser::instance().readXUI(node, params, LLUICtrlFactory::getInstance()->getCurFileName());
 				Params output_params(params);
 				setupParamsForExport(output_params, parent);
 				output_node->setName(node->getName()->mString);
@@ -533,13 +536,13 @@ BOOL LLPanel::initPanelXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr outpu
 				return FALSE;
 			}
 
-			LLXUIParser::instance().readXUI(referenced_xml, params, xml_filename);
+			LLXUIParser::instance().readXUI(referenced_xml, params, LLUICtrlFactory::getInstance()->getCurFileName());
 
 			// add children using dimensions from referenced xml for consistent layout
 			setShape(params.rect);
 			LLUICtrlFactory::createChildren(this, referenced_xml, child_registry_t::instance());
 
-			setXMLFilename(xml_filename);
+			LLUICtrlFactory::instance().popFileName();
 		}
 
 		// ask LLUICtrlFactory for filename, since xml_filename might be empty
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp
index bf12384a28..dff1cb93e7 100644
--- a/indra/llui/llui.cpp
+++ b/indra/llui/llui.cpp
@@ -1752,6 +1752,33 @@ std::string LLUI::getLanguage()
 	return language;
 }
 
+struct SubDir : public LLInitParam::Block<SubDir>
+{
+	Mandatory<std::string> value;
+
+	SubDir()
+	:	value("value")
+	{}
+};
+
+struct Directory : public LLInitParam::Block<Directory>
+{
+	Multiple<SubDir, AtLeast<1> > subdirs;
+
+	Directory()
+	:	subdirs("subdir")
+	{}
+};
+
+struct Paths : public LLInitParam::Block<Paths>
+{
+	Multiple<Directory, AtLeast<1> > directories;
+
+	Paths()
+	:	directories("directory")
+	{}
+};
+
 //static
 void LLUI::setupPaths()
 {
@@ -1759,21 +1786,36 @@ void LLUI::setupPaths()
 
 	LLXMLNodePtr root;
 	BOOL success  = LLXMLNode::parseFile(filename, root, NULL);
+	Paths paths;
+	LLXUIParser::instance().readXUI(root, paths, filename);
+
 	sXUIPaths.clear();
 	
-	if (success)
+	if (success && paths.validateBlock())
 	{
 		LLStringUtil::format_map_t path_args;
 		path_args["[LANGUAGE]"] = LLUI::getLanguage();
 		
-		for (LLXMLNodePtr path = root->getFirstChild(); path.notNull(); path = path->getNextSibling())
+		for (LLInitParam::ParamIterator<Directory>::const_iterator it = paths.directories().begin(), 
+				end_it = paths.directories().end();
+			it != end_it;
+			++it)
 		{
-			std::string path_val_ui(path->getValue());
+			std::string path_val_ui;
+			for (LLInitParam::ParamIterator<SubDir>::const_iterator subdir_it = it->subdirs().begin(),
+					subdir_end_it = it->subdirs().end();
+				subdir_it != subdir_end_it;)
+			{
+				path_val_ui += subdir_it->value();
+				if (++subdir_it != subdir_end_it)
+					path_val_ui += gDirUtilp->getDirDelimiter();
+			}
 			LLStringUtil::format(path_val_ui, path_args);
 			if (std::find(sXUIPaths.begin(), sXUIPaths.end(), path_val_ui) == sXUIPaths.end())
 			{
 				sXUIPaths.push_back(path_val_ui);
 			}
+
 		}
 	}
 	else // parsing failed
diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp
index 4dd155f8e5..6b337e0d74 100644
--- a/indra/llui/lluictrlfactory.cpp
+++ b/indra/llui/lluictrlfactory.cpp
@@ -101,7 +101,9 @@ void LLUICtrlFactory::loadWidgetTemplate(const std::string& widget_tag, LLInitPa
 
 	if (LLUICtrlFactory::getLayeredXMLNode(filename, root_node))
 	{
+		LLUICtrlFactory::instance().pushFileName(filename);
 		LLXUIParser::instance().readXUI(root_node, block, filename);
+		LLUICtrlFactory::instance().popFileName();
 	}
 }
 
@@ -211,7 +213,7 @@ bool LLUICtrlFactory::buildFloater(LLFloater* floaterp, const std::string& filen
 	bool res = true;
 	
 	lldebugs << "Building floater " << filename << llendl;
-	mFileNames.push_back(gDirUtilp->findSkinnedFilename(LLUI::getSkinPath(), filename));
+	pushFileName(filename);
 	{
 		if (!floaterp->getFactoryMap().empty())
 		{
@@ -234,7 +236,7 @@ bool LLUICtrlFactory::buildFloater(LLFloater* floaterp, const std::string& filen
 			mFactoryStack.pop_front();
 		}
 	}
-	mFileNames.pop_back();
+	popFileName();
 	
 	return res;
 }
@@ -283,7 +285,7 @@ BOOL LLUICtrlFactory::buildPanel(LLPanel* panelp, const std::string& filename, L
 
 	lldebugs << "Building panel " << filename << llendl;
 
-	mFileNames.push_back(gDirUtilp->findSkinnedFilename(LLUI::getSkinPath(), filename));
+	pushFileName(filename);
 	{
 		if (!panelp->getFactoryMap().empty())
 		{
@@ -306,7 +308,7 @@ BOOL LLUICtrlFactory::buildPanel(LLPanel* panelp, const std::string& filename, L
 			mFactoryStack.pop_front();
 		}
 	}
-	mFileNames.pop_back();
+	popFileName();
 	return didPost;
 }
 
@@ -364,6 +366,23 @@ LLPanel* LLUICtrlFactory::createFactoryPanel(const std::string& name)
 	return create<LLPanel>(panel_p);
 }
 
+std::string LLUICtrlFactory::getCurFileName() 
+{ 
+	return mFileNames.empty() ? "" : gDirUtilp->getWorkingDir() + gDirUtilp->getDirDelimiter() + mFileNames.back(); 
+}
+
+
+void LLUICtrlFactory::pushFileName(const std::string& name) 
+{ 
+	mFileNames.push_back(gDirUtilp->findSkinnedFilename(LLUI::getSkinPath(), name)); 
+}
+
+void LLUICtrlFactory::popFileName() 
+{ 
+	mFileNames.pop_back(); 
+}
+
+
 //-----------------------------------------------------------------------------
 
 //static
diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h
index b1fa6add67..7da96ffce3 100644
--- a/indra/llui/lluictrlfactory.h
+++ b/indra/llui/lluictrlfactory.h
@@ -170,7 +170,9 @@ public:
 	// Returns 0 on success
 	S32 saveToXML(LLView* viewp, const std::string& filename);
 
-	std::string getCurFileName() { return mFileNames.empty() ? "" : mFileNames.back(); }
+	std::string getCurFileName();
+	void pushFileName(const std::string& name);
+	void popFileName();
 
 	static BOOL getAttributeColor(LLXMLNodePtr node, const std::string& name, LLColor4& color);
 
@@ -229,7 +231,7 @@ public:
 		T* widget = NULL;
 
 		std::string skinned_filename = findSkinnedFilename(filename);
-		getInstance()->mFileNames.push_back(skinned_filename);
+		instance().pushFileName(filename);
 		{
 			LLXMLNodePtr root_node;
 
@@ -263,7 +265,7 @@ public:
 			}
 		}
 fail:
-		getInstance()->mFileNames.pop_back();
+		instance().popFileName();
 		return widget;
 	}
 
diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp
index a162bc9dbc..7f4609b83e 100644
--- a/indra/newview/llpanelnearbymedia.cpp
+++ b/indra/newview/llpanelnearbymedia.cpp
@@ -224,8 +224,8 @@ void LLPanelNearByMedia::reshape(S32 width, S32 height, BOOL called_from_parent)
 {
 	LLPanel::reshape(width, height, called_from_parent);
 
-	LLButton* more_btn = getChild<LLButton>("more_btn");
-	if (more_btn->getValue().asBoolean())
+	LLButton* more_btn = findChild<LLButton>("more_btn");
+	if (more_btn && more_btn->getValue().asBoolean())
 	{
 		mMoreRect = getRect();
 	}
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index c39b2ad0b5..c02559b209 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -121,7 +121,6 @@ const U32 LLStatusBar::MAX_DATE_STRING_LENGTH = 2000;
 
 LLStatusBar::LLStatusBar(const LLRect& rect)
 :	LLPanel(),
-	mTextHealth(NULL),
 	mTextTime(NULL),
 	mSGBandwidth(NULL),
 	mSGPacketLoss(NULL),
@@ -181,7 +180,6 @@ BOOL LLStatusBar::postBuild()
 	// build date necessary data (must do after panel built)
 	setupDate();
 
-	mTextHealth = getChild<LLTextBox>("HealthText" );
 	mTextTime = getChild<LLTextBox>("TimeText" );
 	
 	getChild<LLUICtrl>("buyL")->setCommitCallback(
@@ -326,24 +324,12 @@ void LLStatusBar::refresh()
 			BOOL flash = S32(mHealthTimer->getElapsedSeconds() * ICON_FLASH_FREQUENCY) & 1;
 			childSetVisible("health", flash);
 		}
-		mTextHealth->setVisible(TRUE);
 
 		// Health
 		childGetRect( "health", buttonRect );
 		r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
 		childSetRect("health", r);
 		x += buttonRect.getWidth();
-
-		const S32 health_width = S32( LLFontGL::getFontSansSerifSmall()->getWidth(std::string("100%")) );
-		r.set(x, y+TEXT_HEIGHT - 2, x+health_width, y);
-		mTextHealth->setRect(r);
-		x += health_width;
-	}
-	else
-	{
-		// invisible if region doesn't allow damage
-		childSetVisible("health", false);
-		mTextHealth->setVisible(FALSE);
 	}
 
 	mSGBandwidth->setVisible(net_stats_visible);
@@ -442,8 +428,6 @@ void LLStatusBar::sendMoneyBalanceRequest()
 void LLStatusBar::setHealth(S32 health)
 {
 	//llinfos << "Setting health to: " << buffer << llendl;
-	mTextHealth->setText(llformat("%d%%", health));
-
 	if( mHealth > health )
 	{
 		if (mHealth > (health + gSavedSettings.getF32("UISndHealthReductionThreshold")))
diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h
index e5240fcc3e..32f29e9e1c 100644
--- a/indra/newview/llstatusbar.h
+++ b/indra/newview/llstatusbar.h
@@ -105,7 +105,6 @@ private:
 	static void onClickMediaToggle(void* data);
 
 private:
-	LLTextBox	*mTextHealth;
 	LLTextBox	*mTextTime;
 
 	LLStatGraph *mSGBandwidth;
diff --git a/indra/newview/skins/default/xui/en/menu_edit.xml b/indra/newview/skins/default/xui/en/menu_edit.xml
index 68f3cb532c..fab76c497c 100644
--- a/indra/newview/skins/default/xui/en/menu_edit.xml
+++ b/indra/newview/skins/default/xui/en/menu_edit.xml
@@ -52,6 +52,7 @@
   <menu_item_call
    label="Delete"
    name="Delete"
+   allow_key_repeat="true" 
    shortcut="Del">
     <menu_item_call.on_click
      function="Edit.Delete" />
diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
index 2a53b3e2fa..16529f4064 100644
--- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
@@ -104,8 +104,6 @@
   </tab_container>
   <layout_stack
    animate="false"
-   background_visible="true"
-   bevel_style="none"
    border_size="0"
    follows="left|right|bottom"
    height="25"
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index b79ef1e287..7cd0d5b5f0 100644
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -95,8 +95,6 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M
          width="313">
             <avatar_list
              allow_select="true"
-       		 bg_alpha_color="DkGray2"
-             bg_opaque_color="DkGray2"
              follows="all"
              height="356"
              ignore_online_status="true"
@@ -300,16 +298,11 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M
     -->
             <group_list
              allow_select="true" 
-             background_visible="true"
-             bg_alpha_color="DkGray2"
-             bg_opaque_color="DkGray2"
              follows="all"
              height="356"
              layout="topleft"
              left="3"
              name="group_list"
-             no_filtered_groups_msg="[secondlife:///app/search/groups Try finding the group in search?]"
-             no_groups_msg="[secondlife:///app/search/groups Try searching for some groups to join.]"
              top="0"
              width="307" />
             <panel
@@ -386,9 +379,6 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M
          width="313">
             <avatar_list
              allow_select="true"
-       		 background_visible="true"
-       		 bg_alpha_color="DkGray2"
-             bg_opaque_color="DkGray2"
              follows="all"
              height="356"
              layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml
index 0093a08e15..a815cdf7f0 100644
--- a/indra/newview/skins/default/xui/en/panel_picks.xml
+++ b/indra/newview/skins/default/xui/en/panel_picks.xml
@@ -38,7 +38,6 @@ bg_opaque_color="DkGray2"
   single_expansion="true"
   width="313">
     <accordion_tab
-     can_resize="false"
      layout="topleft"
      height="235"
      min_height="150"
@@ -56,7 +55,6 @@ bg_opaque_color="DkGray2"
          width="313" />
     </accordion_tab>
     <accordion_tab
-     can_resize="false"
      layout="topleft"
      height="235"
      name="tab_classifieds"
diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml
index 92b4c17247..42f64c3a76 100644
--- a/indra/newview/skins/default/xui/en/panel_toast.xml
+++ b/indra/newview/skins/default/xui/en/panel_toast.xml
@@ -31,8 +31,6 @@
  can_close="false"
  can_dock="false"
  border_visible = "false"
- border_drop_shadow_visible = "false"
- drop_shadow_visible = "false"
  border = "false"
 >
  <panel
diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
index 30346319df..ef7ec74b5a 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
@@ -1,11 +1,9 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <panel
-	 auto_tile="true"
 	 height="570"
 	 layout="topleft"
 	 name="object properties"
 	 help_topic="object_properties"
-	 save_rect="true"
 	 title="Object Profile"
 	 width="333">
 	 <panel.string
diff --git a/indra/newview/skins/paths.xml b/indra/newview/skins/paths.xml
index 3b91a904b0..e6d68488ea 100644
--- a/indra/newview/skins/paths.xml
+++ b/indra/newview/skins/paths.xml
@@ -1,4 +1,10 @@
 <paths>
-	<directory>xui/en</directory>
-	<directory>xui/[LANGUAGE]</directory>
+	<directory>
+    <subdir>xui</subdir>
+    <subdir>en</subdir>
+  </directory>
+	<directory>
+    <subdir>xui</subdir>
+    <subdir>[LANGUAGE]</subdir>
+  </directory>
 </paths>
\ No newline at end of file
-- 
cgit v1.2.3