diff options
Diffstat (limited to 'indra/newview')
22 files changed, 383 insertions, 56 deletions
diff --git a/indra/newview/llexternaleditor.cpp b/indra/newview/llexternaleditor.cpp index 54968841ab..ed1d7e860a 100644 --- a/indra/newview/llexternaleditor.cpp +++ b/indra/newview/llexternaleditor.cpp @@ -27,6 +27,7 @@  #include "llviewerprecompiledheaders.h"  #include "llexternaleditor.h" +#include "lltrans.h"  #include "llui.h"  // static @@ -35,13 +36,13 @@ const std::string LLExternalEditor::sFilenameMarker = "%s";  // static  const std::string LLExternalEditor::sSetting = "ExternalEditor"; -bool LLExternalEditor::setCommand(const std::string& env_var, const std::string& override) +LLExternalEditor::EErrorCode LLExternalEditor::setCommand(const std::string& env_var, const std::string& override)  {  	std::string cmd = findCommand(env_var, override);  	if (cmd.empty())  	{ -		llwarns << "Empty editor command" << llendl; -		return false; +		llwarns << "Editor command is empty or not set" << llendl; +		return EC_NOT_SPECIFIED;  	}  	// Add the filename marker if missing. @@ -55,7 +56,7 @@ bool LLExternalEditor::setCommand(const std::string& env_var, const std::string&  	if (tokenize(tokens, cmd) < 2) // 2 = bin + at least one arg (%s)  	{  		llwarns << "Error parsing editor command" << llendl; -		return false; +		return EC_PARSE_ERROR;  	}  	// Check executable for existence. @@ -63,7 +64,7 @@ bool LLExternalEditor::setCommand(const std::string& env_var, const std::string&  	if (!LLFile::isfile(bin_path))  	{  		llwarns << "Editor binary [" << bin_path << "] not found" << llendl; -		return false; +		return EC_BINARY_NOT_FOUND;  	}  	// Save command. @@ -76,16 +77,16 @@ bool LLExternalEditor::setCommand(const std::string& env_var, const std::string&  	}  	llinfos << "Setting command [" << bin_path << " " << mArgs << "]" << llendl; -	return true; +	return EC_SUCCESS;  } -bool LLExternalEditor::run(const std::string& file_path) +LLExternalEditor::EErrorCode LLExternalEditor::run(const std::string& file_path)  {  	std::string args = mArgs;  	if (mProcess.getExecutable().empty() || args.empty())  	{  		llwarns << "Editor command not set" << llendl; -		return false; +		return EC_NOT_SPECIFIED;  	}  	// Substitute the filename marker in the command with the actual passed file name. @@ -111,7 +112,22 @@ bool LLExternalEditor::run(const std::string& file_path)  		mProcess.orphan();  	} -	return result == 0; +	return result == 0 ? EC_SUCCESS : EC_FAILED_TO_RUN; +} + +// static +std::string LLExternalEditor::getErrorMessage(EErrorCode code) +{ +	switch (code) +	{ +	case EC_SUCCESS: 			return LLTrans::getString("ok"); +	case EC_NOT_SPECIFIED: 		return LLTrans::getString("ExternalEditorNotSet"); +	case EC_PARSE_ERROR:		return LLTrans::getString("ExternalEditorCommandParseError"); +	case EC_BINARY_NOT_FOUND:	return LLTrans::getString("ExternalEditorNotFound"); +	case EC_FAILED_TO_RUN:		return LLTrans::getString("ExternalEditorFailedToRun"); +	} + +	return LLTrans::getString("Unknown");  }  // static diff --git a/indra/newview/llexternaleditor.h b/indra/newview/llexternaleditor.h index 6ea210d5e2..ef5db56c6e 100644 --- a/indra/newview/llexternaleditor.h +++ b/indra/newview/llexternaleditor.h @@ -42,6 +42,14 @@ class LLExternalEditor  public: +	typedef enum e_error_code { +		EC_SUCCESS,				/// No error. +		EC_NOT_SPECIFIED,		/// Editor path not specified. +		EC_PARSE_ERROR,			/// Editor command parsing error. +		EC_BINARY_NOT_FOUND,	/// Could find the editor binary (missing or not quoted). +		EC_FAILED_TO_RUN,		/// Could not execute the editor binary. +	} EErrorCode; +  	/**  	 * Set editor command.  	 * @@ -51,19 +59,25 @@ public:  	 * First tries the override, then a predefined setting (sSetting),  	 * then the environment variable.  	 * -	 * @return Command if found, empty string otherwise. +	 * @return EC_SUCCESS if command is valid and refers to an existing executable, +	 *         EC_NOT_SPECIFIED or EC_FAILED_TO_RUNan on error.  	 *  	 * @see sSetting  	 */ -	bool setCommand(const std::string& env_var, const std::string& override = LLStringUtil::null); +	EErrorCode setCommand(const std::string& env_var, const std::string& override = LLStringUtil::null);  	/**  	 * Run the editor with the given file.  	 *  	 * @param file_path File to edit. -	 * @return true on success, false on error. +	 * @return EC_SUCCESS on success, error code on error. +	 */ +	EErrorCode run(const std::string& file_path); + +	/** +	 * Get a meaningful error message for the given status code.  	 */ -	bool run(const std::string& file_path); +	static std::string getErrorMessage(EErrorCode code);  private: diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 2587ab69c3..254f9f8a5e 100755 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -4518,9 +4518,12 @@ void LLModelPreview::setPreviewLOD(S32 lod)  		mFMP->childSetTextArg("lod_table_footer", "[DETAIL]", mFMP->getString(lod_name[mPreviewLOD]));  		mFMP->childSetText("lod_file", mLODFile[mPreviewLOD]); -		// the wizard has two lod drop downs +		// the wizard has three lod drop downs  		LLComboBox* combo_box2 = mFMP->getChild<LLComboBox>("preview_lod_combo2");  		combo_box2->setCurrentByIndex((NUM_LOD-1)-mPreviewLOD); // combo box list of lods is in reverse order +		 +		LLComboBox* combo_box3 = mFMP->getChild<LLComboBox>("preview_lod_combo3"); +		combo_box2->setCurrentByIndex((NUM_LOD-1)-mPreviewLOD); // combo box list of lods is in reverse order  		LLColor4 highlight_color = LLUIColorTable::instance().getColor("MeshImportTableHighlightColor");  		LLColor4 normal_color = LLUIColorTable::instance().getColor("MeshImportTableNormalColor"); diff --git a/indra/newview/llfloatermodelwizard.cpp b/indra/newview/llfloatermodelwizard.cpp index eafea1fe03..ad6e4ebe9c 100644 --- a/indra/newview/llfloatermodelwizard.cpp +++ b/indra/newview/llfloatermodelwizard.cpp @@ -46,6 +46,7 @@ static	const std::string stateNames[]={  	"choose_file",  	"optimize",  	"physics", +	"physics2",  	"review",  	"upload"}; @@ -58,6 +59,7 @@ LLFloaterModelWizard::LLFloaterModelWizard(const LLSD& key)  	mCommitCallbackRegistrar.add("Wizard.Choose", boost::bind(&LLFloaterModelWizard::setState, this, CHOOSE_FILE));  	mCommitCallbackRegistrar.add("Wizard.Optimize", boost::bind(&LLFloaterModelWizard::setState, this, OPTIMIZE));  	mCommitCallbackRegistrar.add("Wizard.Physics", boost::bind(&LLFloaterModelWizard::setState, this, PHYSICS)); +	mCommitCallbackRegistrar.add("Wizard.Physics2", boost::bind(&LLFloaterModelWizard::setState, this, PHYSICS2));  	mCommitCallbackRegistrar.add("Wizard.Review", boost::bind(&LLFloaterModelWizard::setState, this, REVIEW));  	mCommitCallbackRegistrar.add("Wizard.Upload", boost::bind(&LLFloaterModelWizard::setState, this, UPLOAD));  } @@ -125,15 +127,29 @@ void LLFloaterModelWizard::setState(int state)  		getChildView("cancel")->setVisible(true);  	} -	if (state == REVIEW) +	if (state == PHYSICS2)  	{  		if (mLastEnabledState < state)  		{  			executePhysicsStage("Decompose");  		} -		 +  		mModelPreview->mViewOption["show_physics"] = true; +		getChildView("next")->setVisible(true); +		getChildView("next")->setEnabled(true); +		getChildView("upload")->setVisible(false); +		getChildView("close")->setVisible(false); +		getChildView("back")->setVisible(true); +		getChildView("back")->setEnabled(true); +		getChildView("cancel")->setVisible(true); +	} + +	if (state == REVIEW) +	{ +		 +		mModelPreview->mViewOption["show_physics"] = false; +  		getChildView("close")->setVisible(false);  		getChildView("next")->setVisible(false);  		getChildView("back")->setVisible(true); @@ -182,6 +198,18 @@ void LLFloaterModelWizard::updateButtons()  			button->setEnabled(FALSE);  		}  	} + +	LLButton *physics_button = getChild<LLButton>(stateNames[PHYSICS]+"_btn"); +	 +	if (mState == PHYSICS2) +	{ +		physics_button->setVisible(false); +	} +	else +	{ +		physics_button->setVisible(true); +	} +  }  void LLFloaterModelWizard::loadModel() @@ -486,6 +514,7 @@ BOOL LLFloaterModelWizard::postBuild()  	getChild<LLUICtrl>("next")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onClickNext, this));  	getChild<LLUICtrl>("preview_lod_combo")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onPreviewLODCommit, this, _1));  	getChild<LLUICtrl>("preview_lod_combo2")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onPreviewLODCommit, this, _1)); +	getChild<LLUICtrl>("preview_lod_combo3")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onPreviewLODCommit, this, _1));  	getChild<LLUICtrl>("accuracy_slider")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onAccuracyPerformance, this, _2));  	getChild<LLUICtrl>("upload")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onUpload, this));  	getChild<LLUICtrl>("physics_slider")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onPhysicsChanged, this)); diff --git a/indra/newview/llfloatermodelwizard.h b/indra/newview/llfloatermodelwizard.h index 50e4ab1a96..b166d26295 100644 --- a/indra/newview/llfloatermodelwizard.h +++ b/indra/newview/llfloatermodelwizard.h @@ -80,6 +80,7 @@ private:  		CHOOSE_FILE = 0,  		OPTIMIZE,  		PHYSICS, +		PHYSICS2,  		REVIEW,  		UPLOAD  	}; diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 257970aaaf..73c1f99fa0 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -787,7 +787,9 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)  		getChildView("Strength:")->setVisible( land_visible);  	} -	bool show_mesh_cost = !gAgent.getRegion()->getCapability("GetMesh").empty() && gSavedSettings.getBOOL("MeshEnabled"); +	bool show_mesh_cost = gAgent.getRegion() &&  +		                  !gAgent.getRegion()->getCapability("GetMesh").empty() &&  +						  gSavedSettings.getBOOL("MeshEnabled");  	getChildView("obj_count")->setVisible( !land_visible && !show_mesh_cost);  	getChildView("prim_count")->setVisible( !land_visible && !show_mesh_cost); diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index 2aaf403d5f..19f6038b56 100644 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -185,7 +185,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)  			have_extended_data = true;  			msg->getU32("DataExtended", "TimeStamp", time_stamp, block);  			msg->getF32("DataExtended", "MonoScore", mono_score, block); -			msg->getS32(_PREHASH_ReportData,"PublicURLs",public_urls,block); +			msg->getS32("DataExtended", "PublicURLs", public_urls, block);  		}  		LLSD element; diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp index 11b3379814..0d8601410a 100644 --- a/indra/newview/llfloateruipreview.cpp +++ b/indra/newview/llfloateruipreview.cpp @@ -1037,18 +1037,29 @@ void LLFloaterUIPreview::onClickEditFloater()  			cmd_override = bin + " " + args;  		}  	} -	if (!mExternalEditor.setCommand("LL_XUI_EDITOR", cmd_override)) + +	LLExternalEditor::EErrorCode status = mExternalEditor.setCommand("LL_XUI_EDITOR", cmd_override); +	if (status != LLExternalEditor::EC_SUCCESS)  	{ -		std::string warning = "Select an editor by setting the environment variable LL_XUI_EDITOR " -			"or the ExternalEditor setting or specifying its path in the \"Editor Path\" field."; +		std::string warning; + +		if (status == LLExternalEditor::EC_NOT_SPECIFIED) // Use custom message for this error. +		{ +			warning = getString("ExternalEditorNotSet"); +		} +		else +		{ +			warning = LLExternalEditor::getErrorMessage(status); +		} +  		popupAndPrintWarning(warning);  		return;  	}  	// Run the editor. -	if (!mExternalEditor.run(file_path)) +	if (mExternalEditor.run(file_path) != LLExternalEditor::EC_SUCCESS)  	{ -		popupAndPrintWarning("Failed to run editor"); +		popupAndPrintWarning(LLExternalEditor::getErrorMessage(status));  		return;  	}  } diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 0300ea0c92..05e185dcfd 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -1140,6 +1140,8 @@ void LLPanelObject::getState( )  	if (selected_item == MI_SCULPT)  	{ + +          LLUUID id;  		LLSculptParams *sculpt_params = (LLSculptParams *)objectp->getParameterEntry(LLNetworkData::PARAMS_SCULPT); @@ -1169,10 +1171,12 @@ void LLPanelObject::getState( )  			BOOL sculpt_mirror = sculpt_type & LL_SCULPT_FLAG_MIRROR;  			isMesh = (sculpt_stitching == LL_SCULPT_TYPE_MESH); +			mComboBaseType->setEnabled(!isMesh); +			  			if (mCtrlSculptType)  			{  				mCtrlSculptType->setCurrentByIndex(sculpt_stitching); -				mCtrlSculptType->setEnabled(editable); +				mCtrlSculptType->setEnabled(editable && !isMesh);  			}  			if (mCtrlSculptMirror) @@ -1924,6 +1928,7 @@ void LLPanelObject::refresh()  	}  	bool enable_mesh = gSavedSettings.getBOOL("MeshEnabled") &&  +					   gAgent.getRegion() &&  					   !gAgent.getRegion()->getCapability("GetMesh").empty();  	getChildView("label physicsshapetype")->setVisible(enable_mesh); @@ -1940,15 +1945,14 @@ void LLPanelObject::refresh()  	getChild<LLSpinCtrl>("Scale Y")->setMaxValue(max_scale);  	getChild<LLSpinCtrl>("Scale Z")->setMaxValue(max_scale); -	LLComboBox* sculpt_combo = getChild<LLComboBox>("sculpt type control"); -	BOOL found = sculpt_combo->itemExists("Mesh"); +	BOOL found = mCtrlSculptType->itemExists("Mesh");  	if (enable_mesh && !found)  	{ -		sculpt_combo->add("Mesh"); +		mCtrlSculptType->add("Mesh");  	}  	else if (!enable_mesh && found)  	{ -		sculpt_combo->remove("Mesh"); +		mCtrlSculptType->remove("Mesh");  	}  } diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 22ff362b5a..b19bf5d234 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -956,16 +956,31 @@ void LLScriptEdCore::openInExternalEditor()  	// Open it in external editor.  	{  		LLExternalEditor ed; +		LLExternalEditor::EErrorCode status; +		std::string msg; -		if (!ed.setCommand("LL_SCRIPT_EDITOR")) +		status = ed.setCommand("LL_SCRIPT_EDITOR"); +		if (status != LLExternalEditor::EC_SUCCESS)  		{ -			std::string msg = "Select an editor by setting the environment variable LL_SCRIPT_EDITOR " -				"or the ExternalEditor setting"; // *TODO: localize +			if (status == LLExternalEditor::EC_NOT_SPECIFIED) // Use custom message for this error. +			{ +				msg = getString("external_editor_not_set"); +			} +			else +			{ +				msg = LLExternalEditor::getErrorMessage(status); +			} +  			LLNotificationsUtil::add("GenericAlert", LLSD().with("MESSAGE", msg));  			return;  		} -		ed.run(filename); +		status = ed.run(filename); +		if (status != LLExternalEditor::EC_SUCCESS) +		{ +			msg = LLExternalEditor::getErrorMessage(status); +			LLNotificationsUtil::add("GenericAlert", LLSD().with("MESSAGE", msg)); +		}  	}  } diff --git a/indra/newview/skins/default/xui/en/floater_model_wizard.xml b/indra/newview/skins/default/xui/en/floater_model_wizard.xml index f133d75eee..a6dd6c099d 100644 --- a/indra/newview/skins/default/xui/en/floater_model_wizard.xml +++ b/indra/newview/skins/default/xui/en/floater_model_wizard.xml @@ -49,6 +49,24 @@  	 top="32"  	 left="210"  	 height="32" +	 name="physics2_btn" +	 label="3. Physics" +	 tab_stop="false" +	 enabled="false" +	 border="false" +	 image_unselected="BreadCrumbBtn_Middle_Off" +	 image_selected="BreadCrumbBtn_Middle_Press" +	 image_hover_unselected="BreadCrumbBtn_Middle_Over" +	 image_disabled="BreadCrumbBtn_Middle_Disabled" +	 image_disabled_selected="BreadCrumbBtn_Middle_Disabled" +	 width="110"> +		<button.commit_callback +		function="Wizard.Physics2"/> +	</button> +	<button +	 top="32" +	 left="210" +	 height="32"  	 name="physics_btn"  	 label="3. Physics"  	 tab_stop="false" @@ -101,7 +119,7 @@  		 height="388"  		 top_pad="0"  		 name="choose_file_panel" -		 visible="true" +		 visible="false"  		 width="530"  		 left="0">  		<panel @@ -504,8 +522,6 @@ Advanced users familiar with 3d content creation tools may prefer to use the [se  		</panel>  	</panel> - -  	<panel  		 height="388"  		 top_delta="0" @@ -596,6 +612,134 @@ Advanced users familiar with 3d content creation tools may prefer to use the [se      </panel>  	</panel> +	<panel +		 height="388" +		 top_delta="0" +		 name="physics2_panel" +		 visible="true" +		 width="530" +		 left="0"> +		<panel +		 height="20" +		 top_pad="20" +		 name="header_panel" +		 width="500" +		 bg_opaque_color="DkGray2" +		 background_visible="true" +		 background_opaque="true" +		 left="20"> +			<text +			 width="200" +			 left="10" +			 name="header_text" +			 top="2" +			 height="10" +			 font="SansSerifBig" +			 layout="topleft"> +				Physics +			</text> +		</panel> +		<text +		 top_pad="14" +		 width="460" +		 height="50" +		 font="SansSerifSmall" +		 layout="topleft" +		 name="description" +		 word_wrap="true" +		 left_delta="0"> +			Preview the physics shpae below then click Next to continue.  To modify the physics shape, click the Back button. +		</text> +		<panel +			 top_delta="40" +			 left="15" +			 height="265" +			 width="500" +			 name="content" +			 bg_opaque_color="DkGray2" +			 background_visible="true" +			 background_opaque="true"> +			<text top="10" left="10" width="85" text_color="White" follows="left|top" height="15" name="lod_label"> +				Model Preview: +			</text> +			<combo_box left_pad="5" top_delta="-5"  follows="left|top" list_position="below" height="22" +			   name="preview_lod_combo3" width="90" tool_tip="LOD to view in preview render"> +				<combo_item name="high"> +					High +				</combo_item> +				<combo_item name="medium"> +					Medium +				</combo_item> +				<combo_item name="lowest"> +					Lowest +				</combo_item> +				<combo_item name="low"> +					Low +				</combo_item> +			</combo_box> +			<panel +					   left="10" +					   top_pad="10" +					   name="preview_panel" +					   bevel_style="none" +					   highlight_light_color="0.09 0.09 0.09 1" +					   border_style="line" +					   border="true" +					   height="190" +					   follows="all" +					   width="190"> +			</panel> +			<text +						 top_pad="8" +						 width="130" +						 height="14" +						 left="10" +						 text_color="White" +						 word_wrap="true"> +				Dimensions (meters): +			</text> +			<text +			 top_pad="0" +			 width="160" +			 height="15" +			 font="SansSerifSmallBold" +			 text_color="White" +			 name="dimensions" +			 left_delta="0"> +				X:         Y:         Z: +			</text> +			<text +			 top_delta="0" +			 width="160" +			 height="15" +			 name="dimension_dividers" +			 left_delta="41"> +				|               | +			</text> +			<text +			 top_delta="0" +			 width="160" +			 height="15" +			 name="dimension_x" +			 left_delta="-25"/> +			<text +			 top_delta="0" +			 width="160" +			 height="15" +			 name="dimension_y" +			 left_delta="46"/> +			<text +			 top_delta="0" +			 width="160" +			 height="15" +			 name="dimension_z" +			 left_delta="46"/> +			<text top="140" width="180" text_color="White" left="240" name="streaming cost"  height="20">Resource Cost:       [COST]</text> +			<text top_delta="26" width="180" text_color="White" left_delta="0" name="physics cost"  height="20">Physics Cost:           [COST]</text> +			<text top_delta="26" width="180" text_color="White" left_delta="0"  height="20">Upload Fee:</text> + +		</panel> +	</panel>  	<panel  		 height="388" diff --git a/indra/newview/skins/default/xui/en/floater_ui_preview.xml b/indra/newview/skins/default/xui/en/floater_ui_preview.xml index 12c4561753..3921cfcd2c 100644 --- a/indra/newview/skins/default/xui/en/floater_ui_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_ui_preview.xml @@ -12,6 +12,10 @@   title="XUI PREVIEW TOOL"   translate="false"   width="750"> +    <string name="ExternalEditorNotSet"> +Select an editor by setting the environment variable LL_XUI_EDITOR +or the ExternalEditor setting +or specifying its path in the "Editor Path" field.</string>      <panel       bottom="640"       follows="left|top|right|bottom" diff --git a/indra/newview/skins/default/xui/en/panel_script_ed.xml b/indra/newview/skins/default/xui/en/panel_script_ed.xml index 627b12cfe1..8d42024386 100644 --- a/indra/newview/skins/default/xui/en/panel_script_ed.xml +++ b/indra/newview/skins/default/xui/en/panel_script_ed.xml @@ -28,6 +28,10 @@       name="Title">          Script: [NAME]      </panel.string> +    <panel.string +     name="external_editor_not_set"> +        Select an editor by setting the environment variable LL_SCRIPT_EDITOR or the ExternalEditor setting. +    </panel.string>      <menu_bar       bg_visible="false"       follows="left|top" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index b7bf2526ab..a39832bbc5 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3312,6 +3312,14 @@ Abuse Report</string>    <string name="DeleteItem">Delete selected item?</string>    <string name="EmptyOutfitText">There are no items in this outfit</string> +  + <!-- External editor status codes --> + <string name="ExternalEditorNotSet">Select an editor using the ExternalEditor setting.</string> + <string name="ExternalEditorNotFound">Cannot find the external editor you specified. +Try enclosing path to the editor with double quotes. +(e.g. "/path to my/editor" "%s")</string> + <string name="ExternalEditorCommandParseError">Error parsing the external editor command.</string> + <string name="ExternalEditorFailedToRun">External editor failed to run.</string>    <!-- Key names begin -->    <string name="Esc">Esc</string> diff --git a/indra/newview/skins/minimal/xui/en/floater_help_browser.xml b/indra/newview/skins/minimal/xui/en/floater_help_browser.xml index eddfe41c25..cc551f7d58 100644 --- a/indra/newview/skins/minimal/xui/en/floater_help_browser.xml +++ b/indra/newview/skins/minimal/xui/en/floater_help_browser.xml @@ -8,12 +8,12 @@   min_height="360"   left="645"   top="10"  - min_width="300" + min_width="345"   name="floater_help_browser"   save_rect="true"   single_instance="true"   title="HOW TO" - width="300"> + width="335">      <floater.string       name="loading_text">          Loading... @@ -29,14 +29,14 @@       orientation="vertical"        name="stack1"       top="20" -     width="290"> +     width="325">          <layout_panel           layout="topleft"           left_delta="0"           top_delta="0"           name="external_controls"           user_resize="false" -         width="280"> +         width="325">              <web_browser                trusted_content="true"                bottom="-5" @@ -46,7 +46,7 @@               name="browser"               top="0"               height="300" -             width="280" /> +             width="325" />          </layout_panel>      </layout_stack>  </floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_media_browser.xml b/indra/newview/skins/minimal/xui/es/floater_media_browser.xml new file mode 100644 index 0000000000..a7086c2d6d --- /dev/null +++ b/indra/newview/skins/minimal/xui/es/floater_media_browser.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_about" title="EXPLORADOR DE MEDIA"> +	<floater.string name="home_page_url"> +		http://www.secondlife.com +	</floater.string> +	<floater.string name="support_page_url"> +		http://support.secondlife.com +	</floater.string> +	<layout_stack name="stack1"> +		<layout_panel name="nav_controls"> +			<button label="Atrás" name="back"/> +			<button label="Adelante" name="forward"/> +			<button label="Recargar" name="reload"/> +			<button label="Ir" name="go"/> +		</layout_panel> +		<layout_panel name="time_controls"> +			<button label="rebobinar" name="rewind"/> +			<button label="parar" name="stop"/> +			<button label="avanzar" name="seek"/> +		</layout_panel> +		<layout_panel name="parcel_owner_controls"> +			<button label="Enviar a la parcela la página actual" name="assign"/> +		</layout_panel> +		<layout_panel name="external_controls"> +			<button label="Abrir en mi propio navegador" name="open_browser"/> +			<check_box label="Abrir siempre en mi propio navegador" name="open_always"/> +			<button label="Cerrar" name="close"/> +		</layout_panel> +	</layout_stack> +</floater> diff --git a/indra/newview/skins/minimal/xui/es/floater_web_content.xml b/indra/newview/skins/minimal/xui/es/floater_web_content.xml new file mode 100644 index 0000000000..b012809679 --- /dev/null +++ b/indra/newview/skins/minimal/xui/es/floater_web_content.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_web_content" title=""> +	<layout_stack name="stack1"> +		<layout_panel name="nav_controls"> +			<button name="back" tool_tip="Navegar hacia atrás"/> +			<button name="forward" tool_tip="Navegar hacia adelante"/> +			<button name="stop" tool_tip="Parar navegación"/> +			<button name="reload" tool_tip="Recargar página"/> +			<combo_box name="address" tool_tip="Escribe la URL aquí"/> +			<icon name="media_secure_lock_flag" tool_tip="Navegación segura"/> +			<button name="popexternal" tool_tip="Abrir la URL actual en tu explorador de escritorio"/> +		</layout_panel> +	</layout_stack> +</floater> diff --git a/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml b/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml index c8a1e9d9da..6b76137114 100644 --- a/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml +++ b/indra/newview/skins/minimal/xui/es/menu_inspect_self_gear.xml @@ -1,10 +1,8 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu name="Gear Menu"> -	<menu_item_call label="Sentarte" name="sit_down_here"/> -	<menu_item_call label="Levantarme" name="stand_up"/> -	<menu_item_call label="Cambiar vestuario" name="change_outfit"/> -	<menu_item_call label="Mi perfil" name="my_profile"/> -	<menu_item_call label="Mis amigos" name="my_friends"/> -	<menu_item_call label="Mis grupos" name="my_groups"/> -	<menu_item_call label="Depurar las texturas" name="Debug..."/> -</menu> +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<toggleable_menu name="Gear Menu"> +	<menu_item_call label="Sentarme" name="Sit Down Here"/> +	<menu_item_call label="Levantarme" name="Stand Up"/> +	<menu_item_call label="Mis amigos" name="Friends..."/> +	<menu_item_call label="Mi perfil" name="Profile..."/> +	<menu_item_call label="Depurar texturas" name="Debug..."/> +</toggleable_menu> diff --git a/indra/newview/skins/minimal/xui/es/notifications.xml b/indra/newview/skins/minimal/xui/es/notifications.xml new file mode 100644 index 0000000000..b08ebb5f76 --- /dev/null +++ b/indra/newview/skins/minimal/xui/es/notifications.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<notifications> +	<notification name="UserGiveItem"> +		[NAME_SLURL] te ofrece un/a [ITEM_SLURL]. Para utilizar este ítem, cambia al modo Avanzado y búscalo en el inventario. Para cambiar al modo Avanzado, sal de la aplicación, reiníciala y cambia el ajuste de modo en la pantalla de inicio de sesión. +		<form name="form"> +			<button name="Show" text="Conservar ítem"/> +			<button name="Discard" text="Rechazar ítem"/> +			<button name="Mute" text="Bloquear usuario"/> +		</form> +	</notification> +	<notification name="ObjectGiveItem"> +		Un objeto de nombre <nolink>[OBJECTFROMNAME]</nolink>, propiedad de [NAME_SLURL], te ofrece un/a [ITEM_SLURL]. Para utilizar este ítem, cambia al modo Avanzado y búscalo en el inventario. Para cambiar al modo Avanzado, sal de la aplicación, reiníciala y cambia el ajuste de modo en la pantalla de inicio de sesión. +		<form name="form"> +			<button name="Keep" text="Conservar ítem"/> +			<button name="Discard" text="Rechazar ítem"/> +			<button name="Mute" text="Bloquear objeto"/> +		</form> +	</notification> +</notifications> diff --git a/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml index 9ab30b5613..f782d66ae7 100644 --- a/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/es/panel_bottomtray.xml @@ -11,10 +11,10 @@  			<bottomtray_button label="Visión" name="camera_btn" tool_tip="Muestra/Oculta los controles de la cámara"/>  		</layout_panel>  		<layout_panel name="avatar_and_destinations_panel"> -			<radio_group name="avatar_and_destination_btns"> -				<radio_item name="destination_btn" value="0"/> -				<radio_item name="avatar_btn" value="1"/> -			</radio_group> +			<bottomtray_button label="Destinos" name="destination_btn" tool_tip="Muestra la ventana de gente"/> +		</layout_panel> +		<layout_panel name="avatar_and_destinations_panel"> +			<bottomtray_button label="Mi avatar" name="avatar_btn"/>  		</layout_panel>  		<layout_panel name="people_panel">  			<bottomtray_button label="Gente" name="show_people_button" tool_tip="Muestra la ventana de gente"/> diff --git a/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml new file mode 100644 index 0000000000..e77156b0d4 --- /dev/null +++ b/indra/newview/skins/minimal/xui/es/panel_group_control_panel.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel name="panel_im_control_panel"> +	<layout_stack name="vertical_stack"> +		<layout_panel name="end_call_btn_panel"> +			<button label="Colgar" name="end_call_btn"/> +		</layout_panel> +		<layout_panel name="voice_ctrls_btn_panel"> +			<button label="Abrir los controles de la voz" name="voice_ctrls_btn"/> +		</layout_panel> +	</layout_stack> +</panel> diff --git a/indra/newview/skins/minimal/xui/es/panel_login.xml b/indra/newview/skins/minimal/xui/es/panel_login.xml index 161ea19b0e..689a71e277 100644 --- a/indra/newview/skins/minimal/xui/es/panel_login.xml +++ b/indra/newview/skins/minimal/xui/es/panel_login.xml @@ -20,8 +20,8 @@  			<text name="mode_selection_text">  				Modo:  			</text> -			<combo_box name="mode_combo"> -				<combo_box.item label="Básico (Predeterminado)" name="Basic"/> +			<combo_box name="mode_combo" tool_tip="Selecciona el modo. Elige Básico para una exploración rápida y fácil y para chatear. Elige Avanzado para tener acceso a más funciones."> +				<combo_box.item label="Básico" name="Basic"/>  				<combo_box.item label="Avanzado" name="Advanced"/>  			</combo_box>  		</layout_panel>  | 
