diff options
51 files changed, 652 insertions, 684 deletions
diff --git a/indra/integration_tests/llui_libtest/llwidgetreg.cpp b/indra/integration_tests/llui_libtest/llwidgetreg.cpp index 316fd810c0..c6e2e79a09 100644 --- a/indra/integration_tests/llui_libtest/llwidgetreg.cpp +++ b/indra/integration_tests/llui_libtest/llwidgetreg.cpp @@ -85,7 +85,6 @@ void LLWidgetReg::initClass(bool register_widgets)  		LLDefaultChildRegistry::Register<LLLayoutStack> layout_stack("layout_stack", &LLLayoutStack::fromXML);  		LLDefaultChildRegistry::Register<LLProgressBar> progress_bar("progress_bar");  		LLDefaultChildRegistry::Register<LLRadioGroup> radio_group("radio_group"); -		LLDefaultChildRegistry::Register<LLRadioCtrl> radio_item("radio_item");  		LLDefaultChildRegistry::Register<LLSearchEditor> search_editor("search_editor");  		LLDefaultChildRegistry::Register<LLScrollContainer> scroll_container("scroll_container");  		LLDefaultChildRegistry::Register<LLScrollingPanelList> scrolling_panel_list("scrolling_panel_list"); diff --git a/indra/llui/llradiogroup.cpp b/indra/llui/llradiogroup.cpp index 86bd2f05ce..74e30cd633 100644 --- a/indra/llui/llradiogroup.cpp +++ b/indra/llui/llradiogroup.cpp @@ -43,15 +43,43 @@  #include "llui.h"  #include "llfocusmgr.h"  #include "lluictrlfactory.h" +#include "llsdutil.h"  static LLDefaultChildRegistry::Register<LLRadioGroup> r1("radio_group"); -static RadioGroupRegistry::Register<LLRadioCtrl> register_radio_ctrl("radio_item"); +/* + * An invisible view containing multiple mutually exclusive toggling  + * buttons (usually radio buttons).  Automatically handles the mutex + * condition by highlighting only one button at a time. + */ +class LLRadioCtrl : public LLCheckBoxCtrl  +{ +public: +	typedef LLRadioGroup::ItemParams Params; +	/*virtual*/ ~LLRadioCtrl(); +	/*virtual*/ void setValue(const LLSD& value); + +	/*virtual*/ BOOL postBuild(); + +	LLSD getPayload() { return mPayload; } +	// Ensure label is in an attribute, not the contents +	static void setupParamsForExport(Params& p, LLView* parent); + +protected: +	LLRadioCtrl(const LLRadioGroup::ItemParams& p); +	friend class LLUICtrlFactory; + +	LLSD mPayload;	// stores data that this item represents in the radio group +}; +static LLWidgetNameRegistry::StaticRegistrar register_radio_item(&typeid(LLRadioGroup::ItemParams), "radio_item");  LLRadioGroup::Params::Params() -:	has_border("draw_border") +:	has_border("draw_border"), +	items("item")   { +	addSynonym(items, "radio_item"); +  	name = "radio_group";  	mouse_opaque = true;  	follows.flags = FOLLOWS_LEFT | FOLLOWS_TOP; @@ -76,6 +104,24 @@ LLRadioGroup::LLRadioGroup(const LLRadioGroup::Params& p)  	}  } +void LLRadioGroup::initFromParams(const Params& p) +{ +	LLUICtrl::initFromParams(p); +	for (LLInitParam::ParamIterator<ItemParams>::const_iterator it = p.items().begin(); +		it != p.items().end(); +		++it) +	{ +		LLRadioGroup::ItemParams item_params(*it); +		item_params.font.setIfNotProvided(mFont); // apply radio group font by default +		item_params.commit_callback.function = boost::bind(&LLRadioGroup::onClickButton, this, _1); +		item_params.from_xui = p.from_xui; + +		LLRadioCtrl* item = LLUICtrlFactory::create<LLRadioCtrl>(item_params, this); +		mRadioButtons.push_back(item); +	} +} + +  LLRadioGroup::~LLRadioGroup()  {  } @@ -141,7 +187,7 @@ void LLRadioGroup::setIndexEnabled(S32 index, BOOL enabled)  BOOL LLRadioGroup::setSelectedIndex(S32 index, BOOL from_event)  { -	if (index < 0 || index >= (S32)mRadioButtons.size()) +	if (index < 0 || (S32)mRadioButtons.size() <= index )  	{  		return FALSE;  	} @@ -170,7 +216,7 @@ BOOL LLRadioGroup::setSelectedIndex(S32 index, BOOL from_event)  	if (!from_event)  	{ -		setControlValue(getSelectedIndex()); +		setControlValue(getValue());  	}  	return TRUE; @@ -235,27 +281,6 @@ BOOL LLRadioGroup::handleKeyHere(KEY key, MASK mask)  	return handled;  } - -// When adding a child button, we need to ensure that the radio -// group gets a message when the button is clicked. - -/*virtual*/ -bool LLRadioGroup::addChild(LLView* view, S32 tab_group) -{ -	bool res = LLView::addChild(view, tab_group); -	if (res) -	{ -		LLRadioCtrl* radio_ctrl = dynamic_cast<LLRadioCtrl*>(view); -		if (radio_ctrl) -		{ -			radio_ctrl->setFont(mFont); -			radio_ctrl->setCommitCallback(boost::bind(&LLRadioGroup::onClickButton, this, _1)); -			mRadioButtons.push_back(radio_ctrl); -		} -	} -	return res; -} -  BOOL LLRadioGroup::handleMouseDown(S32 x, S32 y, MASK mask)  {  	// grab focus preemptively, before child button takes mousecapture @@ -302,13 +327,12 @@ void LLRadioGroup::onClickButton(LLUICtrl* ctrl)  void LLRadioGroup::setValue( const LLSD& value )  { -	std::string value_name = value.asString();  	int idx = 0;  	for (button_list_t::const_iterator iter = mRadioButtons.begin();  		 iter != mRadioButtons.end(); ++iter)  	{  		LLRadioCtrl* radio = *iter; -		if (radio->getName() == value_name) +		if (llsd_equals(radio->getPayload(), value))  		{  			setSelectedIndex(idx);  			idx = -1; @@ -325,7 +349,7 @@ void LLRadioGroup::setValue( const LLSD& value )  		}  		else  		{ -			llwarns << "LLRadioGroup::setValue: value not found: " << value_name << llendl; +			llwarns << "LLRadioGroup::setValue: value not found: " << value.asString() << llendl;  		}  	}  } @@ -337,7 +361,7 @@ LLSD LLRadioGroup::getValue() const  	for (button_list_t::const_iterator iter = mRadioButtons.begin();  		 iter != mRadioButtons.end(); ++iter)  	{ -		if (idx == index) return LLSD((*iter)->getName()); +		if (idx == index) return LLSD((*iter)->getPayload());  		++idx;  	}  	return LLSD(); @@ -357,11 +381,10 @@ LLUUID	LLRadioGroup::getCurrentID() const  BOOL	LLRadioGroup::setSelectedByValue(const LLSD& value, BOOL selected)  {  	S32 idx = 0; -	std::string value_string = value.asString();  	for (button_list_t::const_iterator iter = mRadioButtons.begin();  		 iter != mRadioButtons.end(); ++iter)  	{ -		if((*iter)->getName() == value_string) +		if(llsd_equals((*iter)->getPayload(), value))  		{  			setSelectedIndex(idx);  			return TRUE; @@ -380,11 +403,10 @@ LLSD	LLRadioGroup::getSelectedValue()  BOOL	LLRadioGroup::isSelected(const LLSD& value) const  {  	S32 idx = 0; -	std::string value_string = value.asString();  	for (button_list_t::const_iterator iter = mRadioButtons.begin();  		 iter != mRadioButtons.end(); ++iter)  	{ -		if((*iter)->getName() == value_string) +		if(llsd_equals((*iter)->getPayload(), value))  		{  			if (idx == mSelectedIndex)   			{ @@ -406,9 +428,21 @@ BOOL	LLRadioGroup::operateOnAll(EOperation op)  	return FALSE;  } -LLRadioCtrl::LLRadioCtrl(const LLRadioCtrl::Params& p) -	: LLCheckBoxCtrl(p) +LLRadioGroup::ItemParams::ItemParams() +:	value("value")  { +	addSynonym(value, "initial_value"); +} + +LLRadioCtrl::LLRadioCtrl(const LLRadioGroup::ItemParams& p) +:	LLCheckBoxCtrl(p), +	mPayload(p.value) +{ +	// use name as default "Value" for backwards compatibility +	if (!p.value.isProvided()) +	{ +		mPayload = p.name(); +	}  }  BOOL LLRadioCtrl::postBuild() diff --git a/indra/llui/llradiogroup.h b/indra/llui/llradiogroup.h index 1e9b5115f8..2edfd7c2ca 100644 --- a/indra/llui/llradiogroup.h +++ b/indra/llui/llradiogroup.h @@ -37,35 +37,6 @@  #include "llcheckboxctrl.h"  #include "llctrlselectioninterface.h" - -/* - * An invisible view containing multiple mutually exclusive toggling  - * buttons (usually radio buttons).  Automatically handles the mutex - * condition by highlighting only one button at a time. - */ -class LLRadioCtrl : public LLCheckBoxCtrl  -{ -public: -	struct Params : public LLInitParam::Block<Params, LLCheckBoxCtrl::Params> -	{}; - -	/*virtual*/ ~LLRadioCtrl(); -	/*virtual*/ void setValue(const LLSD& value); - -	/*virtual*/ BOOL postBuild(); - -	// Ensure label is in an attribute, not the contents -	static void setupParamsForExport(Params& p, LLView* parent); - -protected: -	LLRadioCtrl(const Params& p); -	friend class LLUICtrlFactory; -}; - - -struct RadioGroupRegistry : public LLChildRegistry<RadioGroupRegistry> -{}; -  /*   * An invisible view containing multiple mutually exclusive toggling    * buttons (usually radio buttons).  Automatically handles the mutex @@ -76,25 +47,31 @@ class LLRadioGroup  {  public: +	struct ItemParams : public LLInitParam::Block<ItemParams, LLCheckBoxCtrl::Params> +	{ +		Optional<LLSD>	value; +		ItemParams(); +	}; +  	struct Params : public LLInitParam::Block<Params, LLUICtrl::Params>  	{ -		Optional<bool> has_border; +		Optional<bool>						has_border; +		Multiple<ItemParams, LLInitParam::AtLeast<1> >	items;  		Params();  	}; -	// my valid children are stored in this registry -	typedef RadioGroupRegistry child_registry_t; -  protected:  	LLRadioGroup(const Params&);  	friend class LLUICtrlFactory;  public: + +	/*virtual*/ void initFromParams(const Params&); +  	virtual ~LLRadioGroup();  	virtual BOOL postBuild(); -	virtual bool addChild(LLView* view, S32 tab_group = 0);  	virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);  	virtual BOOL handleKeyHere(KEY key, MASK mask); @@ -134,7 +111,7 @@ public:  private:  	const LLFontGL* mFont;  	S32 mSelectedIndex; -	typedef std::vector<LLRadioCtrl*> button_list_t; +	typedef std::vector<class LLRadioCtrl*> button_list_t;  	button_list_t mRadioButtons;  	BOOL mHasBorder; diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index 2d9106923e..83e2e3db50 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -120,6 +120,8 @@ LLTabContainer::Params::Params()  	tab_min_width("tab_min_width"),  	tab_max_width("tab_max_width"),  	tab_height("tab_height"), +	label_pad_bottom("label_pad_bottom"), +	label_pad_left("label_pad_left"),  	tab_position("tab_position"),  	hide_tabs("hide_tabs", false),  	tab_padding_right("tab_padding_right"), @@ -145,6 +147,8 @@ LLTabContainer::LLTabContainer(const LLTabContainer::Params& p)  	mMinTabWidth(0),  	mMaxTabWidth(p.tab_max_width),  	mTabHeight(p.tab_height), +	mLabelPadBottom(p.label_pad_bottom), +	mLabelPadLeft(p.label_pad_left),  	mPrevArrowBtn(NULL),  	mNextArrowBtn(NULL),  	mIsVertical( p.tab_position == LEFT ), @@ -906,7 +910,7 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel)  	if (placeholder)  	{ -		btn_rect.translate(0, -3); // *TODO: make configurable +		btn_rect.translate(0, -6); // *TODO: make configurable  		LLTextBox::Params params;  		params.name(trimmed_label);  		params.rect(btn_rect); @@ -933,6 +937,7 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel)  			p.image_selected(mMiddleTabParams.tab_left_image_selected);  			p.scale_image(true);  			p.font_halign = mFontHalign; +			p.pad_bottom( mLabelPadBottom );  			p.tab_stop(false);  			p.label_shadow(false);  			if (indent) @@ -956,8 +961,9 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel)  			p.tab_stop(false);  			p.label_shadow(false);  			// Try to squeeze in a bit more text -			p.pad_left(4); +			p.pad_left( mLabelPadLeft );  			p.pad_right(2); +			p.pad_bottom( mLabelPadBottom );  			p.font_halign = mFontHalign;  			p.follows.flags = FOLLOWS_LEFT;  			p.follows.flags = FOLLOWS_LEFT; @@ -1897,6 +1903,3 @@ void LLTabContainer::commitHoveredButton(S32 x, S32 y)  		}  	}  } - - - diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h index be9c6c7d06..5d0f194bf9 100644 --- a/indra/llui/lltabcontainer.h +++ b/indra/llui/lltabcontainer.h @@ -79,7 +79,9 @@ public:  		Optional<S32>						tab_width,  											tab_min_width,  											tab_max_width, -											tab_height; +											tab_height, +											label_pad_bottom, +											label_pad_left;  		Optional<bool>						hide_tabs;  		Optional<S32>						tab_padding_right; @@ -261,6 +263,11 @@ private:  	S32								mTotalTabWidth;  	S32								mTabHeight; +	// Padding under the text labels of tab buttons +	S32								mLabelPadBottom; +	// Padding to the left of text labels of tab buttons +	S32								mLabelPadLeft; +  	LLFrameTimer					mDragAndDropDelayTimer;  	LLFontGL::HAlign                mFontHalign; diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp index 3643bf44f7..5807654e43 100644 --- a/indra/llui/lluictrlfactory.cpp +++ b/indra/llui/lluictrlfactory.cpp @@ -393,7 +393,7 @@ BOOL LLUICtrlFactory::getAttributeColor(LLXMLNodePtr node, const std::string& na  //static  void LLUICtrlFactory::setCtrlParent(LLView* view, LLView* parent, S32 tab_group)  { -	if (tab_group < 0) tab_group = parent->getLastTabGroup(); +	if (tab_group == S32_MAX) tab_group = parent->getLastTabGroup();  	parent->addChild(view, tab_group);  } @@ -453,9 +453,3 @@ const std::string* LLUICtrlFactory::getWidgetTag(const std::type_info* widget_ty  {  	return LLWidgetNameRegistry::instance().getValue(widget_type);  } - -// static -void LLUICtrlFactory::connect(LLView* parent, LLView* child) -{ -	parent->addChild(child); -} diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h index 55d7d745eb..b785102426 100644 --- a/indra/llui/lluictrlfactory.h +++ b/indra/llui/lluictrlfactory.h @@ -180,34 +180,55 @@ public:  	void popFactoryFunctions();  	template<typename T> -	static T* create(typename T::Params& params, LLView* parent = NULL) +	static T* createWidget(typename T::Params& params, LLView* parent = NULL)  	{ -		//#pragma message("Generating LLUICtrlFactory::create") -		params.fillFrom(ParamDefaults<typename T::Params, 0>::instance().get()); -		//S32 foo = "test"; +		// Apply layout transformations, usually munging rect +		T::setupParams(params, parent); + +		T* widget = NULL;  		if (!params.validateBlock())  		{  			llwarns << getInstance()->getCurFileName() << ": Invalid parameter block for " << typeid(T).name() << llendl; +			//return NULL;  		} -		T* widget = new T(params); -		widget->initFromParams(params); + +		{ +			LLFastTimer timer(FTM_WIDGET_CONSTRUCTION); +			widget = new T(params);	 +		} +		{ +			LLFastTimer timer(FTM_INIT_FROM_PARAMS); +			widget->initFromParams(params); +		} +  		if (parent)  		{ -			connect(parent, widget); +			S32 tab_group = params.tab_group.isProvided() ? params.tab_group() : S32_MAX; +			setCtrlParent(widget, parent, tab_group);  		}  		return widget;  	} -	// fix for gcc template instantiation annoyance -	static void connect(LLView* parent, LLView* child); -	 +	template<typename T> +	static T* create(typename T::Params& params, LLView* parent = NULL) +	{ +		params.fillFrom(ParamDefaults<typename T::Params, 0>::instance().get()); + +		T* widget = createWidget<T>(params, parent); +		if (widget) +		{ +			widget->postBuild(); +		} + +		return widget; +	} +  	LLView* createFromXML(LLXMLNodePtr node, LLView* parent, const std::string& filename, const widget_registry_t&, LLXMLNodePtr output_node );  	template<typename T>  	static T* createFromFile(const std::string &filename, LLView *parent, const widget_registry_t& registry, LLXMLNodePtr output_node = NULL)  	{ -		//#pragma message("Generating LLUICtrlFactory::createFromFile")  		T* widget = NULL;  		std::string skinned_filename = findSkinnedFilename(filename); @@ -272,7 +293,6 @@ fail:  	{  		LLFastTimer timer(FTM_WIDGET_SETUP); -		//#pragma message("Generating LLUICtrlFactory::defaultBuilder")  		typename T::Params params(getDefaultParams<T>());  		LLXUIParser::instance().readXUI(node, params, LLUICtrlFactory::getInstance()->getCurFileName()); @@ -289,37 +309,17 @@ fail:  				output_node, output_params, &default_params);  		} -		// Apply layout transformations, usually munging rect -		T::setupParams(params, parent); +		params.from_xui = true; -		if (!params.validateBlock()) -		{ -			llwarns << getInstance()->getCurFileName() << ": Invalid parameter block for " << typeid(T).name() << llendl; -		} -		T* widget; -		{ -			LLFastTimer timer(FTM_WIDGET_CONSTRUCTION); -			widget = new T(params);	 -		} -		{ -			LLFastTimer timer(FTM_INIT_FROM_PARAMS); -			widget->initFromParams(params); -		} +		T* widget = createWidget<T>(params, parent); -		if (parent) -		{ -			S32 tab_group = params.tab_group.isProvided() ? params.tab_group() : -1; -			setCtrlParent(widget, parent, tab_group); -		} -		  		typedef typename T::child_registry_t registry_t; -  		createChildren(widget, node, registry_t::instance(), output_node); -		if (!widget->postBuild()) +		if (widget && !widget->postBuild())  		{  			delete widget; -			return NULL; +			widget = NULL;  		}  		return widget; diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 8917e4b813..7932b749a8 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -2494,8 +2494,6 @@ void LLView::setupParams(LLView::Params& p, LLView* parent)  	const S32 VPAD = 4;  	const S32 MIN_WIDGET_HEIGHT = 10; -	p.from_xui(true); -  	// *NOTE:  This will confuse export of floater/panel coordinates unless  	// the default is also "topleft".  JC  	if (p.layout().empty() && parent) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 578f8fd4f0..d7021a7882 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8,7 +8,7 @@        <key>Persist</key>        <integer>1</integer>        <key>Type</key> -      <string>F32</string> +      <string>S32</string>        <key>Value</key>        <real>300.0</real>      </map> @@ -45,17 +45,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>AllowIdleAFK</key> -    <map> -      <key>Comment</key> -      <string>Automatically set AFK (away from keyboard) mode when idle</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>1</integer> -    </map>      <key>AllowMultipleViewers</key>      <map>        <key>Comment</key> @@ -9286,7 +9275,7 @@        <key>Type</key>        <string>S32</string>        <key>Value</key> -      <integer>4</integer> +      <integer>5</integer>      </map>      <key>UIMaxComboWidth</key>      <map> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 07b3399637..becc30832d 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -333,7 +333,7 @@ LLAppViewer::LLUpdaterInfo *LLAppViewer::sUpdaterInfo = NULL ;  void idle_afk_check()  {  	// check idle timers -	if (gSavedSettings.getBOOL("AllowIdleAFK") && (gAwayTriggerTimer.getElapsedTimeF32() > gSavedSettings.getF32("AFKTimeout"))) +	if (gSavedSettings.getS32("AFKTimeout") && (gAwayTriggerTimer.getElapsedTimeF32() > gSavedSettings.getS32("AFKTimeout")))  	{  		gAgent.setAFK();  	} diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 66bf5246b0..81322abbf7 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -1526,7 +1526,7 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo  		object_count_str = llformat("%d", object_count);  		item_params.columns.add().value(object_count_str).font(FONT).column("count"); -		item_params.columns.add().value(formatted_time((time_t)most_recent_time)).font(FONT).column("mostrecent"); +		item_params.columns.add().value(LLDate((time_t)most_recent_time)).font(FONT).column("mostrecent").type("date");  		self->mOwnerList->addRow(item_params); diff --git a/indra/newview/llfloatertelehub.cpp b/indra/newview/llfloatertelehub.cpp index 9841cd2796..816181643f 100644 --- a/indra/newview/llfloatertelehub.cpp +++ b/indra/newview/llfloatertelehub.cpp @@ -84,17 +84,6 @@ void LLFloaterTelehub::onOpen(const LLSD& key)  	LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset);  	LLToolMgr::getInstance()->getCurrentToolset()->selectTool( LLToolCompTranslate::getInstance() ); -	// Find tools floater, glue to bottom -	if (gFloaterTools) -	{ -		LLRect tools_rect = gFloaterTools->getRect(); -		S32 our_width = getRect().getWidth(); -		S32 our_height = getRect().getHeight(); -		LLRect our_rect; -		our_rect.setLeftTopAndSize(tools_rect.mLeft, tools_rect.mBottom, our_width, our_height); -		setRect(our_rect); -	} -  	sendTelehubInfoRequest();  	mObjectSelection = LLSelectMgr::getInstance()->getEditSelection(); diff --git a/indra/newview/llfloatertools.h b/indra/newview/llfloatertools.h index 05a88a31d3..2ec7ec46af 100644 --- a/indra/newview/llfloatertools.h +++ b/indra/newview/llfloatertools.h @@ -46,7 +46,6 @@ class LLPanelVolume;  class LLPanelContents;  class LLPanelFace;  class LLPanelLandInfo; -class LLRadioCtrl;  class LLRadioGroup;  class LLSlider;  class LLTabContainer; diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp index 39114d64b4..dae980feb1 100644 --- a/indra/newview/llinspectavatar.cpp +++ b/indra/newview/llinspectavatar.cpp @@ -115,7 +115,7 @@ private:  	void onClickTeleport();  	void onClickInviteToGroup();  	void onClickPay(); -	void onClickBlock(); +	void onToggleMute();  	void onClickReport();  	void onClickFreeze();  	void onClickEject(); @@ -126,6 +126,8 @@ private:  	bool onVisibleZoomIn();  	void onClickMuteVolume();  	void onVolumeChange(const LLSD& data); +	bool enableMute(); +	bool enableUnmute();  	// Is used to determine if "Add friend" option should be enabled in gear menu  	bool isNotFriend(); @@ -205,7 +207,7 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd)  	mCommitCallbackRegistrar.add("InspectAvatar.Teleport",	boost::bind(&LLInspectAvatar::onClickTeleport, this));	  	mCommitCallbackRegistrar.add("InspectAvatar.InviteToGroup",	boost::bind(&LLInspectAvatar::onClickInviteToGroup, this));	  	mCommitCallbackRegistrar.add("InspectAvatar.Pay",	boost::bind(&LLInspectAvatar::onClickPay, this));	 -	mCommitCallbackRegistrar.add("InspectAvatar.Block",	boost::bind(&LLInspectAvatar::onClickBlock, this));	 +	mCommitCallbackRegistrar.add("InspectAvatar.ToggleMute",	boost::bind(&LLInspectAvatar::onToggleMute, this));	  	mCommitCallbackRegistrar.add("InspectAvatar.Freeze",  		boost::bind(&LLInspectAvatar::onClickFreeze, this));	  	mCommitCallbackRegistrar.add("InspectAvatar.Eject", @@ -221,6 +223,8 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd)  	mEnableCallbackRegistrar.add("InspectAvatar.VisibleZoomIn",   		boost::bind(&LLInspectAvatar::onVisibleZoomIn, this));  	mEnableCallbackRegistrar.add("InspectAvatar.Gear.Enable", boost::bind(&LLInspectAvatar::isNotFriend, this)); +	mEnableCallbackRegistrar.add("InspectAvatar.EnableMute", boost::bind(&LLInspectAvatar::enableMute, this)); +	mEnableCallbackRegistrar.add("InspectAvatar.EnableUnmute", boost::bind(&LLInspectAvatar::enableUnmute, this));  	// can't make the properties request until the widgets are constructed  	// as it might return immediately, so do it in postBuild. @@ -625,10 +629,19 @@ void LLInspectAvatar::onClickPay()  	closeFloater();  } -void LLInspectAvatar::onClickBlock() +void LLInspectAvatar::onToggleMute()  {  	LLMute mute(mAvatarID, mAvatarName, LLMute::AGENT); -	LLMuteList::getInstance()->add(mute); + +	if (LLMuteList::getInstance()->isMuted(mute.mID, mute.mName)) +	{ +		LLMuteList::getInstance()->remove(mute); +	} +	else +	{ +		LLMuteList::getInstance()->add(mute); +	} +  	LLPanelBlockedList::showPanelAndSelect(mute.mID);  	closeFloater();  } @@ -663,6 +676,37 @@ void LLInspectAvatar::onClickFindOnMap()  	LLFloaterReg::showInstance("world_map");  } + +bool LLInspectAvatar::enableMute() +{ +		bool is_linden = LLStringUtil::endsWith(mAvatarName, " Linden"); +		bool is_self = mAvatarID == gAgent.getID(); + +		if (!is_linden && !is_self && !LLMuteList::getInstance()->isMuted(mAvatarID, mAvatarName)) +		{ +			return true; +		} +		else +		{ +			return false; +		} +} + +bool LLInspectAvatar::enableUnmute() +{ +		bool is_linden = LLStringUtil::endsWith(mAvatarName, " Linden"); +		bool is_self = mAvatarID == gAgent.getID(); + +		if (!is_linden && !is_self && LLMuteList::getInstance()->isMuted(mAvatarID, mAvatarName)) +		{ +			return true; +		} +		else +		{ +			return false; +		} +} +  //////////////////////////////////////////////////////////////////////////////  // LLInspectAvatarUtil  ////////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index a9c604b72a..1d89c3bde0 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -248,7 +248,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,  	childSetAction("connect_btn", onClickConnect, this); -	getChild<LLPanel>("login_widgets")->setDefaultBtn("connect_btn"); +	getChild<LLPanel>("login")->setDefaultBtn("connect_btn");  	std::string channel = gSavedSettings.getString("VersionChannelName");  	std::string version = llformat("%s (%d)", @@ -676,12 +676,8 @@ void LLPanelLogin::refreshLocation( bool force_visible )  	sInstance->childSetVisible("start_location_combo", show_start);  	sInstance->childSetVisible("start_location_text", show_start); -#if LL_RELEASE_FOR_DOWNLOAD  	BOOL show_server = gSavedSettings.getBOOL("ForceShowGrid");  	sInstance->childSetVisible("server_combo", show_server); -#else -	sInstance->childSetVisible("server_combo", TRUE); -#endif  #endif  } diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp index c95882931b..0b0c03e9e9 100644 --- a/indra/newview/llpreview.cpp +++ b/indra/newview/llpreview.cpp @@ -150,6 +150,13 @@ void LLPreview::onCommit()  		LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);  		new_item->setDescription(childGetText("desc")); + +		std::string new_name = childGetText("name"); +		if ( (new_item->getName() != new_name) && !new_name.empty()) +		{ +			new_item->rename(childGetText("name")); +		} +  		if(mObjectUUID.notNull())  		{  			// must be in an object diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp index f1891aa421..2a40cbaba0 100644 --- a/indra/newview/llpreviewgesture.cpp +++ b/indra/newview/llpreviewgesture.cpp @@ -494,6 +494,10 @@ BOOL LLPreviewGesture::postBuild()  		childSetCommitCallback("desc", LLPreview::onText, this);  		childSetText("desc", item->getDescription());  		childSetPrevalidate("desc", &LLLineEditor::prevalidateASCIIPrintableNoPipe); +		 +		childSetCommitCallback("name", LLPreview::onText, this); +		childSetText("name", item->getName()); +		childSetPrevalidate("name", &LLLineEditor::prevalidateASCIIPrintableNoPipe);  	}  	return LLPreview::postBuild(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index dfa775c292..389603524d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5520,47 +5520,27 @@ void handle_viewer_disable_message_log(void*)  	gMessageSystem->stopLogging();  } -class LLShowFloater : public view_listener_t +void handle_customize_avatar()  { -	bool handleEvent(const LLSD& userdata) +	if (gAgentWearables.areWearablesLoaded())  	{ -		std::string floater_name = userdata.asString(); -		if (floater_name == "appearance") -		{ -			if (gAgentWearables.areWearablesLoaded()) -			{ -				gAgent.changeCameraToCustomizeAvatar(); -			} -		} -		else if (floater_name == "toolbar") -		{ -			LLToolBar::toggle(NULL); -		} -		else if (floater_name == "buy land") -		{ -			handle_buy_land(); -		} -		else if (floater_name == "script errors") -		{ -			LLFloaterScriptDebug::show(LLUUID::null); -		} -		else if (floater_name == "complaint reporter") -		{ -			// Prevent menu from appearing in screen shot. -			gMenuHolder->hideMenus(); -			LLFloaterReporter::showFromMenu(COMPLAINT_REPORT); -		} -		else if (floater_name == "buy currency") -		{ -			LLFloaterBuyCurrency::buyCurrency(); -		} -		else -		{ -			LLFloaterReg::toggleInstance(floater_name); -		} -		return true; +		gAgent.changeCameraToCustomizeAvatar();  	} -}; +} + +void handle_report_abuse() +{ +	// Prevent menu from appearing in screen shot. +	gMenuHolder->hideMenus(); +	LLFloaterReporter::showFromMenu(COMPLAINT_REPORT); +} + +void handle_buy_currency() +{ +	LLFloaterBuyCurrency::buyCurrency(); +} + +  class LLFloaterVisible : public view_listener_t  { @@ -5568,11 +5548,6 @@ class LLFloaterVisible : public view_listener_t  	{  		std::string floater_name = userdata.asString();  		bool new_value = false; -		if (floater_name == "toolbar") -		{ -			new_value = LLToolBar::visible(NULL); -		} -		else  		{  			new_value = LLFloaterReg::instanceVisible(floater_name);  		} @@ -5851,47 +5826,68 @@ void confirm_replace_attachment(S32 option, void* user_data)  	}  } -class LLAttachmentDrop : public view_listener_t +bool callback_attachment_drop(const LLSD& notification, const LLSD& response)  { -	bool handleEvent(const LLSD& userdata) +	// Called when the user clicked on an object attached to them +	// and selected "Drop". +	LLUUID object_id = notification["payload"]["object_id"].asUUID(); +	LLViewerObject *object = gObjectList.findObject(object_id); +	 +	if (!object)  	{ -		// Called when the user clicked on an object attached to them -		// and selected "Drop". -		LLViewerObject *object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); -		if (!object) -		{ -			llwarns << "handle_drop_attachment() - no object to drop" << llendl; -			return true; -		} +		llwarns << "handle_drop_attachment() - no object to drop" << llendl; +		return true; +	} -		LLViewerObject *parent = (LLViewerObject*)object->getParent(); -		while (parent) +	LLViewerObject *parent = (LLViewerObject*)object->getParent(); +	while (parent) +	{ +		if(parent->isAvatar())  		{ -			if(parent->isAvatar()) -			{ -				break; -			} -			object = parent; -			parent = (LLViewerObject*)parent->getParent(); +			break;  		} +		object = parent; +		parent = (LLViewerObject*)parent->getParent(); +	} -		if (!object) +	if (!object) +	{ +		llwarns << "handle_detach() - no object to detach" << llendl; +		return true; +	} + +	if (object->isAvatar()) +	{ +		llwarns << "Trying to detach avatar from avatar." << llendl; +		return true; +	} +	 +	// reselect the object +	LLSelectMgr::getInstance()->selectObjectAndFamily(object); + +	LLSelectMgr::getInstance()->sendDropAttachment(); + +	return true; +} + +class LLAttachmentDrop : public view_listener_t +{ +	bool handleEvent(const LLSD& userdata) +	{ +		LLSD payload; +		LLViewerObject *object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); + +		if (object)   		{ -			llwarns << "handle_detach() - no object to detach" << llendl; -			return true; +			payload["object_id"] = object->getID();  		} - -		if (object->isAvatar()) +		else  		{ -			llwarns << "Trying to detach avatar from avatar." << llendl; +			llwarns << "Drop object not found" << llendl;  			return true;  		} -		// The sendDropAttachment() method works on the list of selected -		// objects.  Thus we need to clear the list, make sure it only -		// contains the object the user clicked, send the message, -		// then clear the list. -		LLSelectMgr::getInstance()->sendDropAttachment(); +		LLNotificationsUtil::add("AttachmentDrop", LLSD(), payload, &callback_attachment_drop);  		return true;  	}  }; @@ -7607,6 +7603,7 @@ void initialize_menus()  	view_listener_t::addMenu(new LLEditEnableDuplicate(), "Edit.EnableDuplicate");  	view_listener_t::addMenu(new LLEditEnableTakeOff(), "Edit.EnableTakeOff");  	view_listener_t::addMenu(new LLEditEnableCustomizeAvatar(), "Edit.EnableCustomizeAvatar"); +	commit.add("CustomizeAvatar", boost::bind(&handle_customize_avatar));  	// View menu  	view_listener_t::addMenu(new LLViewMouselook(), "View.Mouselook"); @@ -7931,9 +7928,11 @@ void initialize_menus()  	view_listener_t::addMenu(new LLLandEdit(), "Land.Edit");  	view_listener_t::addMenu(new LLLandEnableBuyPass(), "Land.EnableBuyPass"); +	commit.add("Land.Buy", boost::bind(&handle_buy_land));  	// Generic actions -	view_listener_t::addMenu(new LLShowFloater(), "ShowFloater"); +	commit.add("ReportAbuse", boost::bind(&handle_report_abuse)); +	commit.add("BuyCurrency", boost::bind(&handle_buy_currency));  	view_listener_t::addMenu(new LLShowHelp(), "ShowHelp");  	view_listener_t::addMenu(new LLPromptShowURL(), "PromptShowURL");  	view_listener_t::addMenu(new LLShowAgentProfile(), "ShowAgentProfile"); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 9cacdaa3f9..5c86822787 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1013,7 +1013,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated)  	{  		mActive = FALSE; -		if (gSavedSettings.getBOOL("AllowIdleAFK")) +		if (gSavedSettings.getS32("AFKTimeout"))  		{  			gAgent.setAFK();  		} diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 1239152c32..70018d2295 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1093,11 +1093,11 @@                  <name_list.columns                   label="Count"                   name="count" -                 width="70" /> +                 width="60" />                  <name_list.columns                   label="Most Recent"                   name="mostrecent" -                 width="160" /> +                 width="170" />              </name_list>          </panel>          <panel diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index d378b427f1..a797d54749 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -2,8 +2,8 @@  <floater   legacy_header_height="18"   can_dock="true" - can_minimize="false" - can_close="true" + can_minimize="true" + can_close="false"   center_horiz="true"   follows="bottom"   height="152" @@ -108,7 +108,7 @@           image_unselected="Cam_Rotate_Out"           layout="topleft"           left="45" -         mouse_opaque="false"  +         mouse_opaque="false"           name="cam_rotate_stick"           quadrant="left"           scale_image="false" diff --git a/indra/newview/skins/default/xui/en/floater_customize.xml b/indra/newview/skins/default/xui/en/floater_customize.xml index 275ab5bb8b..9d3694873e 100644 --- a/indra/newview/skins/default/xui/en/floater_customize.xml +++ b/indra/newview/skins/default/xui/en/floater_customize.xml @@ -167,6 +167,7 @@                   left="1"                   name="radio"                   top="1" +                 value="0"                   width="82" />                  <radio_item                   height="16" @@ -174,6 +175,7 @@                   layout="topleft"                   left_delta="0"                   name="radio2" +                 value="1"                   top_delta="16"                   width="82" />              </radio_group> diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index a4ade9d0df..e015419118 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -8,9 +8,9 @@   left="0"   name="panel_im"   top="0" - can_close="true"   can_dock="false" - can_minimize="false" + can_minimize="true" + can_close="true"   visible="true"   width="360"   can_resize="true" @@ -66,7 +66,7 @@           width="240">          </chat_history>          <line_editor -         bottom="0"  +         bottom="0"           follows="left|right|bottom"  	 font="SansSerifSmall"           height="20" diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index cff0c29dfc..0bdcbf30df 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -2,8 +2,8 @@  <floater   legacy_header_height="18"   can_dock="true" - can_close="true" - can_minimize="false" + can_minimize="true" + can_close="false"   center_horiz="true"   follows="bottom"   height="110" @@ -38,12 +38,12 @@          Fly Backwards (press Down Arrow or S)      </string>      <panel -     border="false"  +     border="false"       height="83" -     follows="left|top"  +     follows="left|top"       layout="topleft"       left="0" -     mouse_opaque="false"  +     mouse_opaque="false"       name="panel_actions"       top="0"       width="115"> @@ -130,7 +130,7 @@      </panel>  <!-- Width and height of this panel should be synchronized with panel_stand_stop_flying.xml -->      <panel -     border="false"  +     border="false"       height="27"       layout="topleft"       left="0" @@ -141,7 +141,7 @@           follows="left|bottom"           height="23"           image_overlay="Move_Walk_Off" -         image_selected="PushButton_Selected_Press"  +         image_selected="PushButton_Selected_Press"  	 label=""           layout="topleft"           name="mode_walk_btn" @@ -151,10 +151,10 @@           top="2"           width="31" />          <button -         follows="left|bottom"  +         follows="left|bottom"           height="23"           image_overlay="Move_Run_Off" -         image_selected="PushButton_Selected_Press"  +         image_selected="PushButton_Selected_Press"  	 label=""           layout="topleft"           left_pad="0" @@ -168,7 +168,7 @@           follows="left|bottom"           height="23"           image_overlay="Move_Fly_Off" -         image_selected="PushButton_Selected_Press"  +         image_selected="PushButton_Selected_Press"  	 label=""           layout="topleft"           left_pad="0" @@ -179,7 +179,7 @@           top="2"           width="31" />          <button -         visible="false"  +         visible="false"           follows="left|bottom"           height="20"           label="Stop Flying" diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml index c8aab2c1e0..fb8893678d 100644 --- a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml +++ b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml @@ -1,18 +1,18 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater - border_visible = "false" - border_drop_shadow_visible = "false" - drop_shadow_visible = "false" - border = "false" + border_visible="false" + border_drop_shadow_visible="false" + drop_shadow_visible="false" + border="false"   bg_opaque_image="Inspector_Background" - bg_alpha_image="Toast_Background"	  + bg_alpha_image="Toast_Background"   bg_alpha_color="0 0 0 0"   legacy_header_height="18" - can_minimize="false" + can_minimize="true"   can_tear_off="false"   can_resize="true"   can_drag_on_left="false" - can_close="true" + can_close="false"   can_dock="true"   bevel_style="in"   height="300" @@ -29,10 +29,10 @@               bg_readonly_color="ChatHistoryBgColor"               bg_writeable_color="ChatHistoryBgColor"               follows="all" -	         left="5" +	     left="5"               top="20"               layout="topleft" -	         height="275" +	     height="275"               name="chat_history"               parse_highlights="true"               text_color="ChatHistoryTextColor" diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml index 8cc2c91ef5..3dc546aee3 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml @@ -39,6 +39,28 @@       name="Title">          Gesture: [NAME]      </floater.string> +  <text +   type="string" +   length="1" +   follows="top|left" +   font="SansSerifSmall" +   height="10" +   layout="topleft" +   left="10" +   name="name_text" +   top="20" +   font.style="BOLD" +   width="100"> +    Name: +  </text> +  <line_editor +   follows="left|top" +   height="20" +   layout="topleft" +   left_delta="84" +   name="name" +   top_delta="-4" +   width="180" />      <text       type="string"       length="1" @@ -48,7 +70,7 @@       layout="topleft"       left="10"       name="desc_label" -     top="25" +     top_pad="10"       font.style="BOLD"       width="100">          Description: diff --git a/indra/newview/skins/default/xui/en/floater_sell_land.xml b/indra/newview/skins/default/xui/en/floater_sell_land.xml index 409f46b960..afc44c41b8 100644 --- a/indra/newview/skins/default/xui/en/floater_sell_land.xml +++ b/indra/newview/skins/default/xui/en/floater_sell_land.xml @@ -2,7 +2,8 @@  <floater   legacy_header_height="18"   can_minimize="false" - height="450" + can_resize="true"  + height="535"   layout="topleft"   name="sell land"   help_topic="sell_land" @@ -12,7 +13,7 @@      <scroll_container       color="DkGray2"       follows="left|top|right|bottom" -     height="435" +     height="520"       layout="topleft"       name="profile_scroll"       reserve_scroll_corner="true" @@ -31,63 +32,47 @@       enabled="false"       follows="top|left"       height="135" -     layout="topleft"       left="60"       name="info_image"       top="20"       width="180" />      <text -     type="string" -     length="1"       top="150"       follows="top|left" -     layout="topleft"       left="16"       name="info_parcel_label"       width="48">          Parcel:      </text>      <text -     type="string" -     length="1"       top_delta="0"       follows="top|left"       height="16" -     layout="topleft"       left="56"       name="info_parcel"       right="-20">          PARCEL NAME      </text>      <text -     type="string" -     length="1"       follows="top|left" -     layout="topleft"       left="16"       name="info_size_label"       width="48">          Size:      </text>      <text -     type="string" -     length="1"       follows="top|left"       top_delta="0"       height="32" -     layout="topleft"       left="56"       name="info_size"       right="-20">          [AREA] m²      </text>      <text -     type="string" -     length="1"       follows="top|left"       font="SansSerifBig"       height="24" -     layout="topleft"       left="16"       name="info_action"       text_color="white" @@ -96,42 +81,30 @@          To sell this parcel:      </text>      <text -     type="string" -     length="1"       follows="top|left"       font="SansSerif"       height="16" -     layout="topleft"       left="30"       name="price_label">          1. Set a price:      </text>      <text -     type="string" -     length="1"       follows="top|left"       height="16" -     layout="topleft"       left="40"       name="price_text">          Choose an appropriate price.      </text>      <text -     type="string" -     length="1"       height="16" -     layout="topleft"       left="40"       name="price_ld"       width="20">          L$      </text>      <line_editor -     type="string" -     length="1"       follows="top|left"       height="18" -     layout="topleft"       left_delta="20"       name="price"       top_delta="0" @@ -139,10 +112,7 @@          0      </line_editor>      <text -     type="string" -     length="1"       height="16" -     layout="topleft"       left="40"       name="price_per_m"       top_delta="25" @@ -150,22 +120,16 @@          (L$[PER_METER] per m²)      </text>      <text -     type="string" -     length="1"       follows="top|left"       font="SansSerif"       height="16" -     layout="topleft"       left="30"       name="sell_to_label">          2. Sell the land to:      </text>      <text -     type="string" -     length="1"       follows="top|left"       height="25" -     layout="topleft"       left="40"       word_wrap="true"       name="sell_to_text" @@ -173,9 +137,8 @@          Choose whether to sell to anyone or a particular buyer.      </text>      <combo_box -     follows="top|right" +     follows="top|left"       height="18" -     layout="topleft"       left_delta="0"       name="sell_to"       top_delta="32" @@ -196,9 +159,8 @@      </combo_box>      <line_editor       enabled="false" -     follows="top|right" +     follows="top|left"       height="18" -     layout="topleft"       left_delta="0"       name="sell_to_agent"       top_pad="4" @@ -206,29 +168,22 @@      <button       height="20"       label="Select" -     layout="topleft"       left_pad="5"       name="sell_to_select_agent"       top_delta="0"       width="60" />      <text -     type="string" -     length="1"       follows="top|left"       font="SansSerif"       height="16" -     layout="topleft"       left="30"       name="sell_objects_label">          3. Sell the objects with the land?      </text>      <text -     type="string" -     length="1"       font="SansSerifSmall"       follows="top|left"       height="25" -     layout="topleft"       word_wrap="true"       left="40"       name="sell_objects_text"> @@ -236,16 +191,14 @@      </text>      <radio_group       top_pad="5" -     follows="top|right" +     follows="top|left"       height="40" -     layout="topleft"       left="40"       name="sell_objects" -     right="420"> +     right="-20">          <radio_item           bottom="40"           height="0" -         layout="topleft"           left="10"           name="none"           visible="false" /> @@ -253,33 +206,27 @@           bottom="20"           height="16"           label="No, keep ownership of objects" -         layout="topleft"           left="10"           name="no" />          <radio_item           bottom="40"           height="16"           label="Yes, sell objects with land" -         layout="topleft"           left="10"           name="yes" />      </radio_group>      <button       height="20"       label="Show Objects" -     layout="topleft"       name="show_objects"       left="70"       top_pad="10"       width="110" />      <text -     type="string" -     length="1"       bottom_delta="30"       follows="top|left"       font="SansSerifBig"       height="16" -     layout="topleft"       left="16"       name="nag_message_label"       right="-20"> @@ -289,16 +236,14 @@       follows="bottom|left"       height="20"       label="Set Land For Sale" -     layout="topleft"       left_delta="0"       name="sell_btn"       top_pad="10"       width="130" />      <button -     follows="bottom|right" +     follows="bottom|left"       height="20"       label="Cancel" -     layout="topleft"       left_pad="30"       name="cancel_btn"       top_delta="0" diff --git a/indra/newview/skins/default/xui/en/floater_settings_debug.xml b/indra/newview/skins/default/xui/en/floater_settings_debug.xml index ffb11f3f18..3ed2bd7206 100644 --- a/indra/newview/skins/default/xui/en/floater_settings_debug.xml +++ b/indra/newview/skins/default/xui/en/floater_settings_debug.xml @@ -30,26 +30,29 @@       top_pad="10"       width="320"       word_wrap="true" /> -    <combo_box -     follows="top|left" -     height="20" -     layout="topleft" -     left_delta="0" -     name="boolean_combo" -     top_pad="10" -     visible="false" -     width="100"> -        <combo_box.item -         label="TRUE" -         name="TRUE" -         value="true" /> -        <combo_box.item -         label="FALSE" -         name="FALSE" -         value="" /> -         <combo_box.commit_callback -           function="CommitSettings" /> -    </combo_box> +  <radio_group +   follows="top|left" +   height="30" +   layout="topleft" +   left_delta="0" +   name="boolean_combo" +   top_pad="10" +   visible="false" +   tab_stop="true"  +   width="100"> +    <radio_item +      top_pad="5"  +     label="TRUE" +     name="TRUE" +     value="true" /> +    <radio_item +      top_pad="5"  +     label="FALSE" +     name="FALSE" +     value="" /> +    <commit_callback +      function="CommitSettings" /> +  </radio_group>      <line_editor       height="20"       layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml index 8860ac1e50..ec54522d3e 100644 --- a/indra/newview/skins/default/xui/en/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml @@ -2,8 +2,9 @@  <floater   legacy_header_height="18"   can_minimize="false" + can_close="true"   follows="left|top" - height="526" + height="516"   layout="topleft"   name="Snapshot"   help_topic="snapshot" @@ -14,94 +15,84 @@       name="unknown">          unknown      </floater.string> -    <text -     type="string" -     length="1" -     follows="top|left" -     height="15" -     layout="topleft" -     left="10" -     name="type_label" -     top="25" -     width="195"> -        Snapshot destination -    </text>      <radio_group -     height="60" +     height="58"       label="Snapshot type"       layout="topleft" -     left_delta="0" +     left="10"       name="snapshot_type_radio" -     top_pad="5" -     width="195"> +     top="25" +     width="205">          <radio_item           bottom="19"           height="16" -         label="Send via email" +         label="Email"           layout="topleft"           name="postcard" />          <radio_item           bottom="38"           height="16" -         label="Save to your inventory (L$[AMOUNT])" +         label="My inventory (L$[AMOUNT])"           layout="topleft"           name="texture" />          <radio_item           bottom="57"           height="16" -         label="Save to your hard drive" +         label="Save to my computer"           layout="topleft"           name="local" />      </radio_group>      <text       type="string" +     font="SansSerifSmall"       length="1"       follows="left|top" -     height="25" +     height="14"       layout="topleft" +     right="-5"       left_delta="0" +     halign="right"       name="file_size_label"       top_pad="106"       width="195"> -        File size: [SIZE] KB +        [SIZE] KB      </text>      <button       follows="left|top" -     height="20" -     label="Refresh Snapshot" +     height="22" +     image_overlay="Refresh_Off"       layout="topleft" -     left_delta="0" +     left="10"       name="new_snapshot_btn" -     top_delta="15" -     width="195" /> +     width="23" />      <button       follows="left|top" -     height="20" +     height="23"       label="Send"       layout="topleft" -     left_delta="0" +     left_pad="5" +     right="-5"       name="send_btn" -     top_pad="2" -     width="105" /> +     width="100" />      <button       follows="left|top" -     height="20" +     height="23"       label="Save (L$[AMOUNT])"       layout="topleft" -     left_delta="0" +     right="-5"       name="upload_btn"       top_delta="0" -     width="105" /> +     width="100" />      <flyout_button       follows="left|top" -     height="20" +     height="23"       label="Save"       layout="topleft" -     left_delta="0" +     right="-5"       name="save_btn"       tool_tip="Save image to a file"       top_delta="0" -     width="105"> +     width="100">          <flyout_button.item           label="Save"           value="save" /> @@ -109,52 +100,51 @@           label="Save As..."           value="save as" />      </flyout_button> -    <button +        <button       follows="left|top" -     height="20" -     label="Cancel" -     layout="topleft" -     left_pad="5" -     name="discard_btn" -     top_delta="0" -     width="85" /> -    <button -     follows="left|top" -     height="20" -     label="More >>" +     height="23" +     label="More"       layout="topleft"       left="10"       name="more_btn"       tool_tip="Advanced options" -     top="270"       width="80" />      <button       follows="left|top" -     height="20" -     label="<< Less" +     height="23" +     label="Less"       layout="topleft"       left_delta="0"       name="less_btn"       tool_tip="Advanced options"       top_delta="0"       width="80" /> +    <button +     follows="left|top" +     height="23" +     label="Cancel" +     layout="topleft" +     right="-5" +     left_pad="5" +     name="discard_btn" +     width="100" />      <text       type="string"       length="1"       follows="top|left" -     height="15" +     height="12"       layout="topleft" -     left_delta="0" +     left="10"       name="type_label2"       top_pad="5" -     width="115"> +     width="120">          Size      </text>      <text       type="string"       length="1"       follows="top|left" -     height="15" +     height="12"       layout="topleft"       left_pad="5"       name="format_label" @@ -163,13 +153,12 @@          Format      </text>      <combo_box -     height="20" +     height="23"       label="Resolution"       layout="topleft"       left="10"       name="postcard_size_combo" -     top="312" -     width="115"> +     width="120">          <combo_box.item           label="Current Window"           name="CurrentWindow" @@ -192,13 +181,13 @@           value="[i-1,i-1]" />      </combo_box>      <combo_box -     height="20" +     height="23"       label="Resolution"       layout="topleft"       left_delta="0"       name="texture_size_combo"       top_delta="0" -     width="115"> +     width="120">          <combo_box.item           label="Current Window"           name="CurrentWindow" @@ -221,13 +210,13 @@           value="[i-1,i-1]" />      </combo_box>      <combo_box -     height="20" +     height="23"       label="Resolution"       layout="topleft"       left_delta="0"       name="local_size_combo"       top_delta="0" -     width="115"> +     width="120">          <combo_box.item           label="Current Window"           name="CurrentWindow" @@ -262,12 +251,11 @@           value="[i-1,i-1]" />      </combo_box>      <combo_box -     height="20" +     height="23"       label="Format"       layout="topleft"       left_pad="5"       name="local_format_combo" -     top_delta="0"       width="70">          <combo_box.item           label="PNG" @@ -286,13 +274,13 @@       height="20"       increment="32"       label="Width" -     label_width="30" +     label_width="40"       layout="topleft"       left="10"       max_val="6016"       min_val="32"       name="snapshot_width" -     top="337" +     top_pad="10"       width="95" />      <spinner       allow_text_entry="false" @@ -301,7 +289,7 @@       height="20"       increment="32"       label="Height" -     label_width="35" +     label_width="40"       layout="topleft"       left_pad="5"       max_val="6016" @@ -311,7 +299,7 @@       width="95" />      <check_box       bottom_delta="20" -     label="Constrain Proportions" +     label="Constrain proportions"       layout="topleft"       left="10"       name="keep_aspect_check" /> @@ -321,32 +309,32 @@       height="15"       increment="1"       initial_value="75" -     label="Image Quality" +     label="Image quality" +     label_width="100"       layout="topleft"       left_delta="0"       max_val="100"       name="image_quality_slider"       top_pad="5" -     width="210" /> +     width="205" />      <text       type="string"       length="1"       follows="left|top" -     height="20" +     height="13"       layout="topleft" -     left_delta="0" +     left="10"       name="layer_type_label" -     top_pad="8" +     top_pad="5"       width="50">          Capture:      </text>      <combo_box -     height="20" +     height="23"       label="Image Layers"       layout="topleft" -     left_delta="50" +     left="30"       name="layer_types" -     top_delta="-3"       width="145">          <combo_box.item           label="Colors" @@ -362,33 +350,38 @@           value="objects" />      </combo_box>      <check_box -     bottom_delta="20" -     label="Show interface in snapshot" +     label="Interface"       layout="topleft" -     left="10" +     left="30" +     top_pad="10" +     width="180"       name="ui_check" />      <check_box -     bottom_delta="20" -     label="Show HUD objects in snapshot" +     label="HUDs"       layout="topleft" -     left="10" +     left="30" +     top_pad="10" +     width="180"       name="hud_check" />      <check_box -     bottom_delta="20"       label="Keep open after saving"       layout="topleft"       left="10" +     top_pad="8" +     width="180"       name="keep_open_check" />      <check_box -     bottom_delta="20" -     label="Freeze frame (fullscreen preview)" +     label="Freeze frame (fullscreen)"       layout="topleft"       left="10" +     top_pad="8" +     width="180"       name="freeze_frame_check" />      <check_box -     bottom_delta="20"       label="Auto-refresh"       layout="topleft"       left="10" +     top_pad="8" +     width="180"       name="auto_snapshot_check" />  </floater> diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml index bb463edd4d..da412ed8a0 100644 --- a/indra/newview/skins/default/xui/en/floater_telehub.xml +++ b/indra/newview/skins/default/xui/en/floater_telehub.xml @@ -1,8 +1,10 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<!-- Explicit left edge to avoid overlapping build tools -->  <floater   legacy_header_height="18"   height="250"   layout="topleft" + left="300"    name="telehub"   help_topic="telehub"   title="TELEHUB" diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml index c1a211967c..a193f53417 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml @@ -1,10 +1,12 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater   can_resize="true" + can_minimize="true" + can_close="false"   height="270"   layout="topleft"   min_height="146" - min_width="190"   + min_width="190"   name="floater_voice_controls"   title="Voice Controls"   save_visibility="true" @@ -64,7 +66,7 @@               name="user_text"               text_color="white"               top="4" -             use_ellipses="true"  +             use_ellipses="true"               value="Mya Avatar:"               width="210" />              <output_monitor @@ -75,7 +77,7 @@               layout="topleft"               name="speaking_indicator"               right="-1" -             top="2"  +             top="2"               visible="true"               width="20" />          </panel> @@ -89,11 +91,11 @@           orientation="horizontal"           width="262">              <layout_panel -             auto_resize="false"  +             auto_resize="false"               follows="left"               layout="topleft"               min_width="24" -             name="microphone_icon_panel"  +             name="microphone_icon_panel"               top="0"               user_resize="false"               width="24"> @@ -108,19 +110,19 @@              <layout_panel               auto_resize="false"               layout="topleft" -             min_width="100"  -             name="leave_btn_panel"  +             min_width="100" +             name="leave_btn_panel"               top="0"               user_resize="false" -             visible="false"  +             visible="false"               width="100">                  <button                   follows="left|right|top"                   height="24"                   label="Leave Call" -                 left="0"  +                 left="0"                   name="leave_call_btn" -                 top="0"  +                 top="0"                   width="100" />              </layout_panel>          </layout_stack> diff --git a/indra/newview/skins/default/xui/en/menu_attachment_self.xml b/indra/newview/skins/default/xui/en/menu_attachment_self.xml index c85dbbb1bc..281ec5a7c3 100644 --- a/indra/newview/skins/default/xui/en/menu_attachment_self.xml +++ b/indra/newview/skins/default/xui/en/menu_attachment_self.xml @@ -54,25 +54,6 @@          <menu_item_call.on_enable           function="Attachment.EnableDrop" />      </menu_item_call> -    <!--menu_item_call -     label="My Profile" -     layout="topleft" -     name="Profile..."> -        <menu_item_call.on_click -         function="ShowAgentProfile" -         parameter="agent" /> -    </menu_item_call> -    <menu_item_call -     label="My Appearance" -     layout="topleft" -     name="Appearance..."> -        <menu_item_call.on_click -         function="ShowFloater" -         parameter="appearance" /> -        <menu_item_call.on_enable -         function="Edit.EnableCustomizeAvatar" /> - -    </menu_item_call-->      <menu_item_separator        layout="topleft" /> @@ -88,11 +69,9 @@      </menu_item_call>       <menu_item_call       label="My Appearance" -     layout="topleft"       name="Appearance...">          <menu_item_call.on_click -         function="ShowFloater" -         parameter="appearance" /> +         function="CustomizeAvatar" />          <menu_item_call.on_enable           function="Edit.EnableCustomizeAvatar" />      </menu_item_call> diff --git a/indra/newview/skins/default/xui/en/menu_avatar_self.xml b/indra/newview/skins/default/xui/en/menu_avatar_self.xml index c6ce612a76..9212d2d648 100644 --- a/indra/newview/skins/default/xui/en/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/en/menu_avatar_self.xml @@ -187,8 +187,7 @@       layout="topleft"       name="Appearance...">          <menu_item_call.on_click -         function="ShowFloater" -         parameter="appearance" /> +         function="CustomizeAvatar" />          <menu_item_call.on_enable           function="Edit.EnableCustomizeAvatar" />      </menu_item_call> @@ -200,14 +199,6 @@           function="SideTray.PanelPeopleTab"           parameter="friends_panel" />      </menu_item_call> -   <!--menu_item_call -     label="My Gestures" -     layout="topleft" -     name="Gestures..."> -        <menu_item_call.on_click -         function="ShowFloater" -         parameter="gestures" /> -    </menu_item_call-->      <menu_item_call       label="My Groups"       layout="topleft" diff --git a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml index ef0bf72058..01df208850 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml @@ -48,7 +48,17 @@     label="Block"     name="block">      <menu_item_call.on_click -     function="InspectAvatar.Block"/> +     function="InspectAvatar.ToggleMute"/> +    <menu_item_call.on_visible +     function="InspectAvatar.EnableMute" /> +  </menu_item_call> +  <menu_item_call +   label="Unblock" +   name="unblock"> +    <menu_item_call.on_click +     function="InspectAvatar.ToggleMute"/> +    <menu_item_call.on_visible +     function="InspectAvatar.EnableUnmute" />    </menu_item_call>    <menu_item_call     label="Report" diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml index 9894a01701..9dc2611663 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml @@ -19,8 +19,7 @@     label="My Appearance"     name="my_appearance">      <menu_item_call.on_click -     function="ShowFloater" -     parameter="appearance" /> +     function="CustomizeAvatar" />      <menu_item_call.on_enable       function="Edit.EnableCustomizeAvatar" />    </menu_item_call> diff --git a/indra/newview/skins/default/xui/en/menu_land.xml b/indra/newview/skins/default/xui/en/menu_land.xml index d88a2f8d25..cc6d8ad9c1 100644 --- a/indra/newview/skins/default/xui/en/menu_land.xml +++ b/indra/newview/skins/default/xui/en/menu_land.xml @@ -6,7 +6,7 @@       label="About Land"       name="Place Information...">          <menu_item_call.on_click -         function="ShowFloater" +         function="Floater.Show"           parameter="about_land" />      </menu_item_call>   <!--   <menu_item_call @@ -28,8 +28,7 @@       label="Buy This Land"       name="Land Buy">          <menu_item_call.on_click -         function="ShowFloater" -         parameter="buy land" /> +         function="Land.Buy" />          <menu_item_call.on_enable           function="World.EnableBuyLand" />      </menu_item_call> diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 53be40d7fd..7a0b11872a 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -16,7 +16,7 @@           name="Preferences..."           shortcut="control|P">              <menu_item_call.on_click -             function="ShowFloater" +             function="Floater.Toggle"               parameter="preferences" />          </menu_item_call>          <menu_item_separator /> @@ -53,7 +53,7 @@           label="About [APP_NAME]"           name="About Second Life">              <menu_item_call.on_click -             function="ShowFloater" +             function="Floater.Show"               parameter="sl_about" />          </menu_item_call>      </menu> @@ -175,16 +175,18 @@           name="UI Preview Tool"           shortcut="control|T">              <menu_item_call.on_click -             function="ShowFloater" +             function="Floater.Toggle"               parameter="ui_preview" />          </menu_item_call>        <menu_item_separator /> +      <!-- Broken        <menu_item_call           label="Show Side Tray"           name="Show Side Tray">          <menu_item_call.on_click           function="Advanced.ShowSideTray" />        </menu_item_call> +      -->        <menu         label="UI Tests"         name="UI Tests" @@ -194,7 +196,7 @@           name="Textbox"           shortcut="control|1">            <menu_item_call.on_click -           function="ShowFloater" +           function="Floater.Show"             parameter="test_textbox" />          </menu_item_call>          <menu_item_call @@ -202,7 +204,7 @@           name="Text Editor"           shortcut="control|2">            <menu_item_call.on_click -           function="ShowFloater" +           function="Floater.Show"             parameter="test_text_editor" />          </menu_item_call>          <menu_item_call @@ -210,14 +212,14 @@           name="Widgets"           shortcut="control|shift|T">            <menu_item_call.on_click -           function="ShowFloater" +           function="Floater.Show"             parameter="test_widgets" />          </menu_item_call>          <menu_item_call           label="Inspectors"           name="Inspectors">            <menu_item_call.on_click -           function="ShowFloater" +           function="Floater.Show"             parameter="test_inspectors" />          </menu_item_call>        </menu> @@ -235,14 +237,14 @@           label="Show TOS"           name="TOS">              <menu_item_call.on_click -             function="ShowFloater" +             function="Floater.Show"               parameter="message_tos" />          </menu_item_call>          <menu_item_call           label="Show Critical Message"           name="Critical">              <menu_item_call.on_click -             function="ShowFloater" +             function="Floater.Show"               parameter="message_critical" />          </menu_item_call>          <menu_item_call diff --git a/indra/newview/skins/default/xui/en/menu_mini_map.xml b/indra/newview/skins/default/xui/en/menu_mini_map.xml index 8d0edf018d..f5ea3e735b 100644 --- a/indra/newview/skins/default/xui/en/menu_mini_map.xml +++ b/indra/newview/skins/default/xui/en/menu_mini_map.xml @@ -51,7 +51,7 @@       label="World Map"       name="World Map">          <menu_item_call.on_click -         function="ShowFloater" +         function="Floater.Show"           parameter="world_map" />      </menu_item_call>  </menu> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 0891afaf76..a8e74c5fa9 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -32,8 +32,7 @@           layout="topleft"           name="Buy and Sell L$">              <menu_item_call.on_click -             function="ShowFloater" -             parameter="buy currency" /> +             function="BuyCurrency" />          </menu_item_call>          <menu_item_separator           layout="topleft" /> @@ -50,8 +49,7 @@           layout="topleft"           name="Appearance">              <menu_item_call.on_click -             function="ShowFloater" -             parameter="appearance" /> +             function="CustomizeAvatar" />              <menu_item_call.on_enable               function="Edit.EnableCustomizeAvatar" />          </menu_item_call> @@ -82,7 +80,7 @@           name="Gestures"           shortcut="control|G">              <menu_item_call.on_click -             function="ShowFloater" +             function="Floater.Toggle"               parameter="gestures" />          </menu_item_call>          <menu @@ -285,8 +283,7 @@               layout="topleft"               name="Buy Land">                  <menu_item_call.on_click -                 function="ShowFloater" -                 parameter="buy land" /> +                 function="Land.Buy" />                  <menu_item_call.on_enable                   function="World.EnableBuyLand" />              </menu_item_call> @@ -295,7 +292,7 @@               layout="topleft"               name="My Land">                  <menu_item_call.on_click -                 function="ShowFloater" +                 function="Floater.Show"                   parameter="land_holdings" />          </menu_item_call>          <menu @@ -868,14 +865,6 @@  				 function="ToggleControl"  				 parameter="DebugPermissions" />  			</menu_item_check> -            <!--menu_item_call -             label="Show Script Warning/Error Window" -             layout="topleft" -             name="Show Script Warning/Error Window"> -                <menu_item_call.on_click -                 function="ShowFloater" -                 parameter="script errors" /> -            </menu_item_call-->              <menu_item_separator               layout="topleft" />              <menu @@ -1082,8 +1071,7 @@               layout="topleft"               name="Report Abuse">                  <menu_item_call.on_click -                 function="ShowFloater" -                 parameter="complaint reporter" /> +                 function="ReportAbuse" />              </menu_item_call>          <menu_item_call               label="Report Bug" @@ -1110,17 +1098,6 @@       name="Advanced"       tear_off="true"       visible="false"> -        <menu_item_check -         label="Set Away After 30 Minutes" -         layout="topleft" -         name="Go Away/AFK When Idle"> -            <menu_item_check.on_check -             function="CheckControl" -             parameter="AllowIdleAFK" /> -            <menu_item_check.on_click -             function="ToggleControl" -             parameter="AllowIdleAFK" /> -        </menu_item_check>          <menu_item_call           label="Stop Animating Me"           layout="topleft" @@ -3640,17 +3617,6 @@                   parameter="all" />              </menu_item_call>          </menu> -        <menu_item_check -         label="Show Toolbar" -         layout="topleft" -         name="Show Toolbar"> -            <menu_item_check.on_check -             function="FloaterVisible" -             parameter="toolbar" /> -            <menu_item_check.on_click -             function="ShowFloater" -             parameter="toolbar" /> -        </menu_item_check>          <menu           create_jump_keys="true"           label="Help" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index bcf006f1a0..ffb11d1737 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -370,6 +370,19 @@ Add this Ability to '[ROLE_NAME]'?    </notification>    <notification +   icon="alertmodal.tga" +   name="AttachmentDrop" +   type="alertmodal"> +    You are about to drop your attachment. +    Are you sure you want to continue? +    <usetemplate +     ignoretext="Confirm before dropping attachments" +     name="okcancelignore" +     notext="No" +     yestext="Yes"/> +  </notification> + +  <notification      icon="alertmodal.tga"      name="ClickUnimplemented"      type="alertmodal"> diff --git a/indra/newview/skins/default/xui/en/panel_chat_header.xml b/indra/newview/skins/default/xui/en/panel_chat_header.xml index 3e6ea84bf2..859822dd81 100644 --- a/indra/newview/skins/default/xui/en/panel_chat_header.xml +++ b/indra/newview/skins/default/xui/en/panel_chat_header.xml @@ -9,7 +9,7 @@  	 layout="topleft"       name="im_header"       width="310"> -		<avatar_icon +	<avatar_icon           follows="left"           height="18"           image_name="Generic_Person" @@ -20,7 +20,7 @@           top="3"           width="18" />      <text_editor -      allow_scroll="false"  +      allow_scroll="false"        v_pad = "0"        read_only = "true"        follows="left|right" diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml index 1b70b95a93..e096715cee 100644 --- a/indra/newview/skins/default/xui/en/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml @@ -78,7 +78,6 @@ Maximum 200 per group daily         image_unselected="AddItem_Off"         image_disabled="AddItem_Disabled"         layout="topleft" -       label="Create a new notice"         left="5"         name="create_new_notice"         tool_tip="Create a new notice" diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml index b25d9a7dfc..a5731123b1 100644 --- a/indra/newview/skins/default/xui/en/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml @@ -526,7 +526,7 @@                           top="138"                           width="90">                              <click_callback -                             function="ShowFloater" +                             function="Floater.Show"                               parameter="about_land" />                          </button>                      </panel> @@ -652,7 +652,7 @@                           tab_stop="false"                           width="105">                              <click_callback -                             function="ShowFloater" +                             function="Floater.Show"                               parameter="region_info" />                          </button>                      </panel> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml index fff53c1de2..d0e325b04e 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml @@ -16,13 +16,14 @@  	 control_name="ChatFontSize"       name="chat_font_size"       top="10" -     width="331"> +     width="440">          <radio_item           height="16"           label="Small"           layout="topleft"           left="0"           name="radio" +         value="0"            top="10"           width="125" />          <radio_item @@ -31,6 +32,7 @@           layout="topleft"           left_delta="145"           name="radio2" +         value="1"                    top_delta="0"           width="125" />          <radio_item @@ -39,6 +41,7 @@           layout="topleft"           left_delta="170"           name="radio3" +         value="2"            top_delta="0"           width="125" />      </radio_group> @@ -340,6 +343,7 @@        layout="topleft"        left="0"        name="radio" +      value="0"        top="0"        width="150" />       <radio_item @@ -348,6 +352,7 @@        layout="topleft"        left_delta="145"        name="radio2" +      value="1"        top_delta="0"        width="150" />      </radio_group> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index b5c6b637e5..9721a42dcf 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -13,7 +13,7 @@       type="string"       length="1"       follows="left|top" -     height="10" +     height="15"       layout="topleft"       left="30"       name="language_textbox" @@ -23,14 +23,13 @@      </text>      <combo_box       control_name="Language" -     follows="left|bottom" +     follows="left|top"       height="23"       layout="topleft" -     left_delta="50" +     left="50"       max_chars="135"       name="language_combobox" -     top_pad="10" -     width="170"> +     width="200">          <combo_box.item           enabled="true"           label="System default" @@ -66,7 +65,6 @@           label="Italiano (Italian) - Beta"           name="Italian"           value="it" /> -          <combo_box.item           enabled="true"           label="Nederlands (Dutch) - Beta" @@ -82,62 +80,54 @@           label="Portugués (Portuguese) - Beta"           name="Portugese"           value="pt" /> - - - -          <combo_box.item           enabled="true"           label="日本語 (Japanese) - Beta"           name="(Japanese)"           value="ja" /> - -      </combo_box>      <text + font="SanSerifSmall"       type="string"       length="1"       follows="left|top" -     height="10" +     height="18"       layout="topleft" -     left_delta="175" +     left_pad="5"       name="language_textbox2" -     top_delta="1" -     width="400"> +     width="200">          (Requires restart)      </text>      <text       type="string"       length="1"       follows="left|top" -     height="10" +     height="15"       layout="topleft"       left="30" +     top_pad="15"       name="maturity_desired_prompt" -     top_pad="10" -     width="400"> +     width="200">          I want to access content rated:      </text> -	<text +    <text       type="string"       length="1"       follows="left|top" -     height="10" +     height="15"       layout="topleft" -     left="90" +     left_pad="5"       name="maturity_desired_textbox" -     top_pad="10" -     width="400"> +     width="200">      </text>      <combo_box       control_name="PreferredMaturity" -     follows="left|bottom" +     follows="left|top"       height="23"       layout="topleft" -     left_delta="-10" +     left="50"       name="maturity_desired_combobox" -     top_pad="-10" -     width="170"> +     width="200">          <combo_box.item           label="General, Moderate, Adult"           name="Desired_Adult" @@ -155,23 +145,22 @@       type="string"       length="1"       follows="left|top" -     height="10" +     height="15"       layout="topleft"       left="30"       name="start_location_textbox" -     top_delta="20" +     top_pad="10"       width="394">          Start location:      </text>      <combo_box       control_name="LoginLocation" -     follows="left|bottom" +     follows="left|top"       height="23"       layout="topleft" -     left_delta="50"       name="start_location_combo" -     top_pad="10" -     width="170"> +     left="50" +     width="200">          <combo_box.item           label="My Last Location"           name="MyLastLocation" @@ -187,54 +176,48 @@       initial_value="true"       label="Show on login"       layout="topleft" -     left_delta="175" +     left_pad="5"       name="show_location_checkbox" -     top_delta="1" -     width="256" />         -         +     top_delta="5" +     width="256" />     <text      type="string"      length="1"      follows="left|top" -    height="10" +    height="15"      layout="topleft"      left="30"      name="name_tags_textbox" -    top_pad="10" +    top_pad="15"      width="400">         Name tags:     </text>     <radio_group       control_name="AvatarNameTagMode" -     height="30" +     height="20"       layout="topleft" -     left_delta="50" -     name="Name_Tag_Preference" -     top_pad="10"> +     left="50" +     name="Name_Tag_Preference">          <radio_item -         height="16"           label="Off"           layout="topleft" -         left="0"           name="radio" -         top_pad="0" -         width="98" /> +         value="0" +         width="100" />          <radio_item -         height="16"           label="On"           layout="topleft"           left_pad="12"           name="radio2" -         top_delta="0" -         width="98" /> +         value="1" +         width="100" />          <radio_item -         height="16"           label="Show briefly"           layout="topleft"           left_pad="12"           name="radio3" -         top_delta="0" -         width="98" /> +         value="2" +         width="100" />      </radio_group>      <check_box  	 enabled_control="AvatarNameTagMode" @@ -242,9 +225,8 @@       height="16"       label="Show my name"       layout="topleft" -     left_delta="0" +     left="50"       name="show_my_name_checkbox1" -     top_pad="-7"       width="300" />      <check_box  	 enabled_control="AvatarNameTagMode" @@ -255,7 +237,6 @@       layout="topleft"       left_delta="175"       name="small_avatar_names_checkbox" -     top_delta="0"       width="200" />     <check_box  	 enabled_control="AvatarNameTagMode" @@ -271,93 +252,97 @@       type="string"       length="1"       follows="left|top" -     height="10" +     height="15"       layout="topleft"       left="30"       name="effects_color_textbox" -     top_pad="5" -     width="400"> +     top_pad="15" +     width="200">          My effects:      </text> +      <text +      type="string" +      length="1" +      follows="left|top" +      height="13" +      layout="topleft" +      left_pad="5" +      name="title_afk_text" +      width="190"> +    Away timeout: +  </text>      <color_swatch -     border_color="0.45098 0.517647 0.607843 1"       control_name="EffectColor"       follows="left|top" -     height="48" +     height="50"       layout="topleft" -     left_delta="50" +     left="50"       name="effect_color_swatch"       tool_tip="Click to open Color Picker" -     top_pad="5" -     width="32" /> +     width="38" /> +  <combo_box +            height="23" +            layout="topleft" +            control_name="AFKTimeout" +            left_pad="160" +            label="Away timeout:" +            top_delta="0" +            name="afk" +            width="130"> +    <combo_box.item +     label="2 minutes" +     name="item0" +     value="120" /> +    <combo_box.item +     label="5 minutes" +     name="item1" +     value="300" /> +    <combo_box.item +     label="10 minutes" +     name="item2" +     value="600" /> +    <combo_box.item +     label="30 minutes" +     name="item3" +     value="1800" /> +    <combo_box.item +     label="never" +     name="item4" +     value="0" /> +  </combo_box>      <text       type="string"       length="1"       follows="left|top" -     height="15" -     layout="topleft" -     left="30" -     name="title_afk_text" -     text_color="white" -     top_pad="-5" -     width="190"> -        Away timeout: -    </text> -    <spinner -     control_name="AFKTimeout" -     decimal_digits="0" -     follows="left|top" -     halign="right" -     height="15" -     increment="1" -     initial_value="300" -     label="" -     label_width="0" -     layout="topleft" -     left_delta="50" -     max_val="600" -     min_val="30" -     name="afk_timeout_spinner" -     top_pad="5" -     width="50" /> -    <text -     type="string" -     length="1" -     follows="left|top" -     halign="left" -     height="15" -     layout="topleft" -     left_pad="2" -     name="seconds_textbox" -     width="70"> -       seconds -    </text> -    <text -     type="string" -     length="1" -     follows="left|top" -     height="10" +     height="13"       layout="topleft"       text_color="white"       left="30"       mouse_opaque="false"       name="text_box3" -     top_pad="10" +     top_pad="15"       width="240">         Busy mode response:      </text>      <text_editor       control_name="BusyModeResponse2" +      text_readonly_color="LabelDisabledColor" +      bg_writeable_color="LtGray" +      border_color="DefaultHighlightLight" +      use_ellipses="false" +      bg_visible="false" +      border_visible="false" +      hover="false" +      text_color="LabelTextColor"       commit_on_focus_lost = "true"       follows="left|top" -     height="56" +     height="50"       layout="topleft" -     left_delta="50" +     left="50"       name="busy_response"       width="400" -     word_wrap="true" -     top_pad="5"> +     word_wrap="true">         log_in_to_change      </text_editor> -     +  </panel> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index 04985d0fa9..f97ccafecc 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -28,7 +28,7 @@       follows="left|top"       height="15"       increment="0.025" -     initial_valu="1" +     initial_value="1"       layout="topleft"       left_delta="52"       max_val="1.4" @@ -656,6 +656,7 @@              layout="topleft"              left="3"              name="SunMoon" +            value="0"              top="3"              width="156" />             <radio_item @@ -664,6 +665,7 @@              layout="topleft"              left_delta="0"              name="LocalLights" +            value="1"              top_delta="16"              width="156" />          </radio_group> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index a65f7d3a54..83dc7cd854 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -268,24 +268,26 @@       name="use_external_browser"       top_pad="4"       width="480"> -        <radio_item -         height="20" -         label="Use built-in browser" -         layout="topleft" -		 left="0" -		 name="internal" -         tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]." -		 top="0" -         width="480" /> -		<radio_item -         height="20" -         label="Use my browser (IE, Firefox)" -         layout="topleft" -         left_delta="0" -         name="external" -         tool_tip="Use the default system web browser for help, web links, etc. Not recommended if running full screen." -         top_delta="20" -         width="480" /> +      <radio_item +        height="20" +        label="Use built-in browser" +        layout="topleft" +        left="0" +        name="internal" +        value="0"  +        tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]." +        top="0" +        width="480" /> +      <radio_item +        height="20" +        label="Use my browser (IE, Firefox)" +        layout="topleft" +        left_delta="0" +        name="external" +        value="1" +        tool_tip="Use the default system web browser for help, web links, etc. Not recommended if running full screen." +        top_delta="20" +        width="480" />      </radio_group>     <check_box diff --git a/indra/newview/skins/default/xui/en/panel_profile_view.xml b/indra/newview/skins/default/xui/en/panel_profile_view.xml index 8e683bffc1..6324ec2bd8 100644 --- a/indra/newview/skins/default/xui/en/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/en/panel_profile_view.xml @@ -26,18 +26,20 @@       top="2"       width="23" />      <text_editor -	 read_only = "true" -     follows="top|left|right" -     font="SansSerifHugeBold" -     height="29" -     layout="topleft" -     left_pad="10" -     name="user_name" -     text_color="white" -     top="0" -     value="(Loading...)" -     use_ellipses="true" -     width="275" /> +      allow_scroll="false"  +      bg_visible="false"  +      read_only = "true" +      follows="top|left|right" +      font="SansSerifHugeBold" +      height="29" +      layout="topleft" +      left_pad="10" +      name="user_name" +      text_color="white" +      top="0" +      value="(Loading...)" +      use_ellipses="true" +      width="275" />      <text       follows="top|left"       height="13" diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index d7aa71a441..51f85e65e2 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -18,6 +18,6 @@  	font="SansSerifSmall"          hover_glow_amount="0.15"          halign="center" -        pad_bottom="2"  +        pad_bottom="3"           scale_image="true">  </button> diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml index 477c6fb8b8..0174782c5b 100644 --- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml +++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml @@ -1,9 +1,15 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<!-- +label_pad_bottom - vertical padding under tab button labels +label_pad_left - padding to the left of tab button labels +-->  <tab_container tab_min_width="60"                 tab_max_width="150"                 font_halign="center"                 font="SansSerifSmall"  -               tab_height="21"> +               tab_height="21" +               label_pad_bottom="2" +               label_pad_left="4">    <first_tab tab_top_image_unselected="TabTop_Left_Off"                 tab_top_image_selected="TabTop_Left_Selected"                 tab_bottom_image_unselected="Toolbar_Left_Off" @@ -22,4 +28,4 @@                 tab_bottom_image_selected="Toolbar_Right_Selected"                 tab_left_image_unselected="TabTop_Middle_Off"                 tab_left_image_selected="TabTop_Middle_Selected"/> -</tab_container>
\ No newline at end of file +</tab_container> diff --git a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml index 6c559aa185..4f574d75d5 100644 --- a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml +++ b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml @@ -3,6 +3,6 @@    Based on menu_item_call.xml -->  <teleport_history_menu_item    back_item_font="SansSerif" -  current_item_font="SansSerif" +  current_item_font="SansSerifBold"    forward_item_font="SansSerif"    />  | 
