diff options
Diffstat (limited to 'indra/newview')
64 files changed, 261 insertions, 132 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index aa8ad53a3d..1ea623791d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1150,6 +1150,17 @@        <key>Value</key>        <integer>0</integer>      </map> +    <key>EnableButtonFlashing</key> +    <map> +      <key>Comment</key> +      <string>Allow UI to flash buttons to get your attention</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>1</integer> +    </map>      <key>ButtonHPad</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 0861fe85a8..33d4563feb 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1044,21 +1044,14 @@ bool LLAppViewer::init()  	LLTextUtil::TextHelpers::iconCallbackCreationFunction = create_text_segment_icon_from_url_match; -	//EXT-7013 - On windows for some locale (Japanese) standard  -	//datetime formatting functions didn't support some parameters such as "weekday". -	//Names for days and months localized in xml are also useful for Polish locale(STORM-107). -	std::string language = gSavedSettings.getString("Language"); -	if(language == "ja" || language == "pl") -	{ -		LLStringOps::setupWeekDaysNames(LLTrans::getString("dateTimeWeekdaysNames")); -		LLStringOps::setupWeekDaysShortNames(LLTrans::getString("dateTimeWeekdaysShortNames")); -		LLStringOps::setupMonthNames(LLTrans::getString("dateTimeMonthNames")); -		LLStringOps::setupMonthShortNames(LLTrans::getString("dateTimeMonthShortNames")); -		LLStringOps::setupDayFormat(LLTrans::getString("dateTimeDayFormat")); - -		LLStringOps::sAM = LLTrans::getString("dateTimeAM"); -		LLStringOps::sPM = LLTrans::getString("dateTimePM"); -	} +	LLStringOps::setupWeekDaysNames(LLTrans::getString("dateTimeWeekdaysNames")); +	LLStringOps::setupWeekDaysShortNames(LLTrans::getString("dateTimeWeekdaysShortNames")); +	LLStringOps::setupMonthNames(LLTrans::getString("dateTimeMonthNames")); +	LLStringOps::setupMonthShortNames(LLTrans::getString("dateTimeMonthShortNames")); +	LLStringOps::setupDayFormat(LLTrans::getString("dateTimeDayFormat")); + +	LLStringOps::sAM = LLTrans::getString("dateTimeAM"); +	LLStringOps::sPM = LLTrans::getString("dateTimePM");  	LLAgentLanguage::init(); diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 8ca621538f..7abecc643b 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -680,12 +680,29 @@ namespace action_give_inventory  		std::string items;  		build_items_string(inventory_selected_uuids, items); +		int folders_count = 0; +		std::set<LLUUID>::const_iterator it = inventory_selected_uuids.begin(); + +		//traverse through selected inventory items and count folders among them +		for ( ; it != inventory_selected_uuids.end() && folders_count <=1 ; ++it) +		{ +			LLViewerInventoryCategory* inv_cat = gInventory.getCategory(*it); +			if (NULL != inv_cat) +			{ +				folders_count++; +			} +		} + +		// EXP-1599 +		// In case of sharing multiple folders, make the confirmation +		// dialog contain a warning that only one folder can be shared at a time. +		std::string notification = (folders_count > 1) ? "ShareFolderConfirmation" : "ShareItemsConfirmation";  		LLSD substitutions;  		substitutions["RESIDENTS"] = residents;  		substitutions["ITEMS"] = items;  		LLShareInfo::instance().mAvatarNames = avatar_names;  		LLShareInfo::instance().mAvatarUuids = avatar_uuids; -		LLNotificationsUtil::add("ShareItemsConfirmation", substitutions, LLSD(), &give_inventory_cb); +		LLNotificationsUtil::add(notification, substitutions, LLSD(), &give_inventory_cb);  	}  } diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 045c9017be..aabab0ccb9 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -302,6 +302,13 @@ void LLIMWellChiclet::createMenu()  void LLIMWellChiclet::messageCountChanged(const LLSD& session_data)  { +	// The singleton class LLChicletBar instance might be already deleted +	// so don't create a new one. +	if (!LLChicletBar::instanceExists()) +	{ +		return; +	} +  	const LLUUID& session_id = session_data["session_id"];  	const S32 counter = LLChicletBar::getInstance()->getTotalUnreadIMCount();  	const bool im_not_visible = !LLFloaterReg::instanceVisible("im_container") diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 4f2fd47488..f4b6dc2c81 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -405,8 +405,8 @@ LLFavoritesBarCtrl::~LLFavoritesBarCtrl()  {  	gInventory.removeObserver(this); -	delete mOverflowMenuHandle.get(); -	delete mContextMenuHandle.get(); +	if (mOverflowMenuHandle.get()) mOverflowMenuHandle.get()->die(); +	if (mContextMenuHandle.get()) mContextMenuHandle.get()->die();  }  BOOL LLFavoritesBarCtrl::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp index 659e52271a..05d73c2416 100644 --- a/indra/newview/llfloatercolorpicker.cpp +++ b/indra/newview/llfloatercolorpicker.cpp @@ -271,7 +271,7 @@ void LLFloaterColorPicker::destroyUI ()  	if ( mSwatchView )  	{  		this->removeChild ( mSwatchView ); -		delete mSwatchView; +		mSwatchView->die();;  		mSwatchView = NULL;  	}  } diff --git a/indra/newview/llfloatermediasettings.cpp b/indra/newview/llfloatermediasettings.cpp index b5f1b967df..895e16adef 100644 --- a/indra/newview/llfloatermediasettings.cpp +++ b/indra/newview/llfloatermediasettings.cpp @@ -212,10 +212,13 @@ void LLFloaterMediaSettings::commitFields()  //static   void LLFloaterMediaSettings::clearValues( bool editable)  { -	// clean up all panels before updating -	sInstance->mPanelMediaSettingsGeneral	 ->clearValues(sInstance->mPanelMediaSettingsGeneral,  editable); -	sInstance->mPanelMediaSettingsSecurity	 ->clearValues(sInstance->mPanelMediaSettingsSecurity,	editable); -	sInstance->mPanelMediaSettingsPermissions->clearValues(sInstance->mPanelMediaSettingsPermissions,  editable);	 +	if (sInstance) +	{ +		// clean up all panels before updating +		sInstance->mPanelMediaSettingsGeneral	 ->clearValues(sInstance->mPanelMediaSettingsGeneral,  editable); +		sInstance->mPanelMediaSettingsSecurity	 ->clearValues(sInstance->mPanelMediaSettingsSecurity,	editable); +		sInstance->mPanelMediaSettingsPermissions->clearValues(sInstance->mPanelMediaSettingsPermissions,  editable); +	}  }  //////////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index cc7a1b2368..d8d62e5bbb 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -1489,6 +1489,12 @@ void LLFloaterSnapshot::Impl::setNeedRefresh(LLFloaterSnapshot* floater, bool ne  {  	if (!floater) return; +	// Don't display the "Refresh to save" message if we're in auto-refresh mode. +	if (gSavedSettings.getBOOL("AutoSnapshot")) +	{ +		need = false; +	} +  	floater->mRefreshLabel->setVisible(need);  	floater->impl.mNeedRefresh = need;  } @@ -1984,7 +1990,7 @@ LLFloaterSnapshot::LLFloaterSnapshot(const LLSD& key)  // Destroys the object  LLFloaterSnapshot::~LLFloaterSnapshot()  { -	delete impl.mPreviewHandle.get(); +	if (impl.mPreviewHandle.get()) impl.mPreviewHandle.get()->die();  	//unfreeze everything else  	gSavedSettings.setBOOL("FreezeTime", FALSE); @@ -2053,6 +2059,13 @@ BOOL LLFloaterSnapshot::postBuild()  	gFloaterView->removeChild(this);  	gSnapshotFloaterView->addChild(this); +	// Pre-select "Current Window" resolution. +	getChild<LLComboBox>("profile_size_combo")->selectNthItem(0); +	getChild<LLComboBox>("postcard_size_combo")->selectNthItem(0); +	getChild<LLComboBox>("texture_size_combo")->selectNthItem(0); +	getChild<LLComboBox>("local_size_combo")->selectNthItem(0); +	getChild<LLComboBox>("local_format_combo")->selectNthItem(0); +  	impl.mPreviewHandle = previewp->getHandle();  	impl.updateControls(this);  	impl.updateLayout(this); diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 1008b4a6e4..bd5b5f4eb0 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -529,7 +529,7 @@ void LLFloaterTools::refresh()  	mPanelLandInfo->refresh();  	// Refresh the advanced weights floater -	LLFloaterObjectWeights* object_weights_floater = LLFloaterReg::getTypedInstance<LLFloaterObjectWeights>("object_weights"); +	LLFloaterObjectWeights* object_weights_floater = LLFloaterReg::findTypedInstance<LLFloaterObjectWeights>("object_weights");  	if(object_weights_floater && object_weights_floater->getVisible())  	{  		object_weights_floater->refresh(); @@ -1409,9 +1409,7 @@ bool LLFloaterTools::deleteMediaConfirm(const LLSD& notification, const LLSD& re  //  void LLFloaterTools::clearMediaSettings()  { -	LLFloaterMediaSettings::getInstance();  	LLFloaterMediaSettings::clearValues(false); -  }  ////////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llfloatertranslationsettings.cpp b/indra/newview/llfloatertranslationsettings.cpp index 959edff713..428a02e9f0 100644 --- a/indra/newview/llfloatertranslationsettings.cpp +++ b/indra/newview/llfloatertranslationsettings.cpp @@ -29,6 +29,7 @@  #include "llfloatertranslationsettings.h"  // Viewer includes +#include "llnearbychatbar.h"  #include "lltranslate.h"  #include "llviewercontrol.h" // for gSavedSettings @@ -292,5 +293,6 @@ void LLFloaterTranslationSettings::onBtnOK()  	gSavedSettings.setString("TranslationService", getSelectedService());  	gSavedSettings.setString("BingTranslateAPIKey", getEnteredBingKey());  	gSavedSettings.setString("GoogleTranslateAPIKey", getEnteredGoogleKey()); +	LLNearbyChatBar::getInstance()->enableTranslationCheckbox(LLTranslate::isTranslationConfigured());  	closeFloater(false);  } diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 6ec2598e44..ecd4c2c3de 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -299,7 +299,7 @@ LLFolderView::~LLFolderView( void )  	mAutoOpenItems.removeAllNodes();  	gIdleCallbacks.deleteFunction(idle, this); -	delete mPopupMenuHandle.get(); +	if (mPopupMenuHandle.get()) mPopupMenuHandle.get()->die();  	mAutoOpenItems.removeAllNodes();  	clearSelection(); @@ -1058,7 +1058,7 @@ void LLFolderView::onItemsRemovalConfirmation(const LLSD& notification, const LL  		for (item_it = mSelectedItems.begin(); item_it != mSelectedItems.end(); ++item_it)  		{  			item = *item_it; -			if(item->isRemovable()) +			if (item && item->isRemovable())  			{  				items.push_back(item);  			} @@ -1969,7 +1969,7 @@ BOOL LLFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,  void LLFolderView::deleteAllChildren()  {  	closeRenamer(); -	delete mPopupMenuHandle.get(); +	if (mPopupMenuHandle.get()) mPopupMenuHandle.get()->die();  	mPopupMenuHandle = LLHandle<LLView>();  	mScrollContainer = NULL;  	mRenameItem = NULL; diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp index f7ed1116cb..bbf66ca750 100644 --- a/indra/newview/llgrouplist.cpp +++ b/indra/newview/llgrouplist.cpp @@ -95,7 +95,7 @@ LLGroupList::LLGroupList(const Params& p)  LLGroupList::~LLGroupList()  {  	gAgent.removeListener(this); -	delete mContextMenuHandle.get(); +	if (mContextMenuHandle.get()) mContextMenuHandle.get()->die();  }  // virtual diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index d06374d232..80b53d5702 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1105,30 +1105,23 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open)  		return FALSE;  	} -	LLSidepanelInventory *sidepanel_inventory =	LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); +	LLSidepanelInventory *inventory_panel =	LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory"); -	// A. If the inventory side panel floater is open, use that preferably. -	if (is_inventorysp_active()) -	{ -		// Get the floater's z order to compare it to other inventory floaters' order later. -		res = sidepanel_inventory->getActivePanel(); -		z_min = gFloaterView->getZOrder(floater_inventory); -		active_inv_floaterp = floater_inventory; -	} - -	// B. Iterate through the inventory floaters and return whichever is on top. +	// Iterate through the inventory floaters and return whichever is on top.  	LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("inventory");  	for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); iter != inst_list.end(); ++iter)  	{ -		LLFloaterInventory* iv = dynamic_cast<LLFloaterInventory*>(*iter); -		if (iv && iv->getVisible()) +		LLFloaterSidePanelContainer* inventory_floater = dynamic_cast<LLFloaterSidePanelContainer*>(*iter); +		inventory_panel = inventory_floater->findChild<LLSidepanelInventory>("main_panel"); + +		if (inventory_floater && inventory_panel && inventory_floater->getVisible())  		{ -			S32 z_order = gFloaterView->getZOrder(iv); +			S32 z_order = gFloaterView->getZOrder(inventory_floater);  			if (z_order < z_min)  			{ -				res = iv->getPanel(); +				res = inventory_panel->getActivePanel();  				z_min = z_order; -				active_inv_floaterp = iv; +				active_inv_floaterp = inventory_floater;  			}  		}  	} @@ -1145,7 +1138,7 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open)  	{  		floater_inventory->openFloater(); -		res = sidepanel_inventory->getActivePanel(); +		res = inventory_panel->getActivePanel();  	}  	return res; diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 74fa5d350a..7650fe9229 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -133,10 +133,15 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) :  		navigateHome();  	} -	// FIXME: How do we create a bevel now? -//	LLRect border_rect( 0, getRect().getHeight() + 2, getRect().getWidth() + 2, 0 ); -//	mBorder = new LLViewBorder( std::string("web control border"), border_rect, LLViewBorder::BEVEL_IN ); -//	addChild( mBorder ); +	LLWindowShade::Params params; +	params.name = "notification_shade"; +	params.rect = getLocalRect(); +	params.follows.flags = FOLLOWS_ALL; +	params.modal = true; + +	mWindowShade = LLUICtrlFactory::create<LLWindowShade>(params); + +	addChild(mWindowShade);  }  LLMediaCtrl::~LLMediaCtrl() @@ -1092,39 +1097,28 @@ void LLMediaCtrl::onPopup(const LLSD& notification, const LLSD& response)  void LLMediaCtrl::showNotification(LLNotificationPtr notify)  { -	delete mWindowShade; +	LLWindowShade* shade = getChild<LLWindowShade>("notification_shade"); -	LLWindowShade::Params params; -	params.name = "notification_shade"; -	params.rect = getLocalRect(); -	params.follows.flags = FOLLOWS_ALL; -	params.notification = notify; -	params.modal = true; -	//HACK: don't hardcode this  	if (notify->getIcon() == "Popup_Caution")  	{ -		params.bg_image.name = "Yellow_Gradient"; -		params.text_color = LLColor4::black; +		shade->setBackgroundImage(LLUI::getUIImage("Yellow_Gradient")); +		shade->setTextColor(LLColor4::black); +		shade->setCanClose(true);  	} -	else -	//HACK: another one since XUI doesn't support what we need right now -	if (notify->getName() == "AuthRequest") +	else if (notify->getName() == "AuthRequest")  	{ -		params.bg_image.name = "Yellow_Gradient"; -		params.text_color = LLColor4::black; -		params.can_close = false; +		shade->setBackgroundImage(LLUI::getUIImage("Yellow_Gradient")); +		shade->setTextColor(LLColor4::black); +		shade->setCanClose(false);  	}  	else  	{  		//HACK: make this a property of the notification itself, "cancellable" -		params.can_close = false; -		params.text_color.control = "LabelTextColor"; +		shade->setCanClose(false); +		shade->setTextColor(LLUIColorTable::instance().getColor("LabelTextColor"));  	} -	mWindowShade = LLUICtrlFactory::create<LLWindowShade>(params); - -	addChild(mWindowShade); -	mWindowShade->show(); +	mWindowShade->show(notify);  }  void LLMediaCtrl::hideNotification() diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 183063f1db..4512c14b7a 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -48,6 +48,7 @@  #include "llrootview.h"  #include "llviewerchat.h"  #include "llnearbychat.h" +#include "lltranslate.h"  #include "llresizehandle.h" @@ -108,6 +109,10 @@ BOOL LLNearbyChatBar::postBuild()  	mOutputMonitor = getChild<LLOutputMonitorCtrl>("chat_zone_indicator");  	mOutputMonitor->setVisible(FALSE); +	gSavedSettings.declareBOOL("nearbychat_history_visibility", mNearbyChat->getVisible(), "Visibility state of nearby chat history", TRUE); + +	mNearbyChat->setVisible(gSavedSettings.getBOOL("nearbychat_history_visibility")); +  	// Register for font change notifications  	LLViewerChat::setFontChangedCallback(boost::bind(&LLNearbyChatBar::onChatFontChange, this, _1)); @@ -116,6 +121,12 @@ BOOL LLNearbyChatBar::postBuild()  	return TRUE;  } +// virtual +void LLNearbyChatBar::onOpen(const LLSD& key) +{ +	enableTranslationCheckbox(LLTranslate::isTranslationConfigured()); +} +  bool LLNearbyChatBar::applyRectControl()  {  	bool rect_controlled = LLFloater::applyRectControl(); @@ -159,6 +170,11 @@ void LLNearbyChatBar::showHistory()  	}  } +void LLNearbyChatBar::enableTranslationCheckbox(BOOL enable) +{ +	getChild<LLUICtrl>("translate_chat_checkbox")->setEnabled(enable); +} +  void LLNearbyChatBar::draw()  {  	displaySpeakingIndicator(); @@ -401,6 +417,8 @@ void LLNearbyChatBar::onToggleNearbyChatPanel()  		enableResizeCtrls(true);  		storeRectControl();  	} + +	gSavedSettings.setBOOL("nearbychat_history_visibility", mNearbyChat->getVisible());  }  void LLNearbyChatBar::setMinimized(BOOL b) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index c2f57dc4ca..baf12a06ea 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -43,6 +43,7 @@ public:  	~LLNearbyChatBar() {}  	virtual BOOL postBuild(); +	/*virtual*/ void onOpen(const LLSD& key);  	static LLNearbyChatBar* getInstance(); @@ -60,6 +61,7 @@ public:  	static void sendChatFromViewer(const LLWString &wtext, EChatType type, BOOL animate);  	void showHistory(); +	void enableTranslationCheckbox(BOOL enable);  	/*virtual*/void setMinimized(BOOL b);  protected: diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp index e66dd5690c..b6c0c2ee24 100644 --- a/indra/newview/llpanelgrouplandmoney.cpp +++ b/indra/newview/llpanelgrouplandmoney.cpp @@ -1447,8 +1447,7 @@ void LLGroupMoneyPlanningTabEventHandler::processReply(LLMessageSystem* msg,  		text.append(time_str);  		text.append(".\n\n"); -		text.append(llformat("%-23sL$%6d\n", LLTrans::getString("GroupMoneyBalance").c_str(), balance )); -		text.append(1, '\n'); +		text.append(llformat("%-24s %6d L$\n\n", LLTrans::getString("GroupMoneyBalance").c_str(), balance ));  	}  	// [DEV-29503] Hide the individual info since diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 9944b51902..68ef13cd68 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -28,6 +28,7 @@  #include "llpanelmaininventory.h"  #include "llagent.h" +#include "llagentcamera.h"  #include "llavataractions.h"  #include "lldndbutton.h"  #include "lleconomy.h" @@ -294,7 +295,13 @@ void LLPanelMainInventory::closeAllFolders()  void LLPanelMainInventory::newWindow()  { -	LLFloaterInventory::showAgentInventory(); +	static S32 instance_num = 0; +	instance_num = (instance_num + 1) % S32_MAX; + +	if (!gAgentCamera.cameraMouselook()) +	{ +		LLFloaterReg::showTypedInstance<LLFloaterSidePanelContainer>("inventory", LLSD(instance_num)); +	}  }  void LLPanelMainInventory::doCreate(const LLSD& userdata) diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index d5e289e6e6..9c46f04abf 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -526,11 +526,11 @@ LLPanelPeople::~LLPanelPeople()  		LLVoiceClient::getInstance()->removeObserver(this);  	} -	delete mGroupPlusMenuHandle.get(); -	delete mNearbyViewSortMenuHandle.get(); -	delete mFriendsViewSortMenuHandle.get(); -	delete mGroupsViewSortMenuHandle.get(); -	delete mRecentViewSortMenuHandle.get(); +	if (mGroupPlusMenuHandle.get()) mGroupPlusMenuHandle.get()->die(); +	if (mNearbyViewSortMenuHandle.get()) mNearbyViewSortMenuHandle.get()->die(); +	if (mNearbyViewSortMenuHandle.get()) mNearbyViewSortMenuHandle.get()->die(); +	if (mGroupsViewSortMenuHandle.get()) mGroupsViewSortMenuHandle.get()->die(); +	if (mRecentViewSortMenuHandle.get()) mRecentViewSortMenuHandle.get()->die();  } diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index 933b40ec79..39c0628cbe 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -1351,7 +1351,6 @@ void LLPanelPrimMediaControls::showNotification(LLNotificationPtr notify)  	LLWindowShade::Params params;  	params.rect = mMediaRegion->getLocalRect();  	params.follows.flags = FOLLOWS_ALL; -	params.notification = notify;  	//HACK: don't hardcode this  	if (notify->getIcon() == "Popup_Caution") @@ -1369,7 +1368,7 @@ void LLPanelPrimMediaControls::showNotification(LLNotificationPtr notify)  	mWindowShade = LLUICtrlFactory::create<LLWindowShade>(params);  	mMediaRegion->addChild(mWindowShade); -	mWindowShade->show(); +	mWindowShade->show(notify);  }  void LLPanelPrimMediaControls::hideNotification() diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index b1eeabb028..e2e7006773 100755 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -177,7 +177,7 @@ LLPanelProfile::ChildStack::~ChildStack()  			LLView* viewp = *it;  			if (viewp)  			{ -				delete viewp; +				viewp->die();  			}  		}  		mStack.pop_back(); diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index d3543daff0..1f1cccad85 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -388,7 +388,7 @@ LLTeleportHistoryPanel::LLTeleportHistoryPanel()  LLTeleportHistoryPanel::~LLTeleportHistoryPanel()  {  	LLTeleportHistoryFlatItemStorage::instance().purge(); -	delete mGearMenuHandle.get(); +	if (mGearMenuHandle.get()) mGearMenuHandle.get()->die();  	mTeleportHistoryChangedConnection.disconnect();  } diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 36d6ff3ef2..7e02a41e7e 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2026,7 +2026,7 @@ bool idle_startup()  		const F32 wearables_time = wearables_timer.getElapsedTimeF32();  		const F32 MAX_WEARABLES_TIME = 10.f; -		if (!gAgent.isGenderChosen()) +		if (!gAgent.isGenderChosen() && isAgentAvatarValid())  		{  			// No point in waiting for clothing, we don't even  			// know what gender we are.  Pop a dialog to ask and @@ -2541,6 +2541,12 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name,  		gender = SEX_FEMALE;  	} +	if (!isAgentAvatarValid()) +	{ +		llwarns << "Trying to load an initial outfit for an invalid agent avatar" << llendl; +		return; +	} +  	gAgentAvatarp->setSex(gender);  	// try to find the outfit - if not there, create some default diff --git a/indra/newview/lltranslate.cpp b/indra/newview/lltranslate.cpp index 7eb54271f4..c1cc9c7bc4 100755 --- a/indra/newview/lltranslate.cpp +++ b/indra/newview/lltranslate.cpp @@ -95,6 +95,12 @@ bool LLGoogleTranslationHandler::parseResponse(  	return parseTranslation(root, translation, detected_lang);  } +// virtual +bool LLGoogleTranslationHandler::isConfigured() const +{ +	return !getAPIKey().empty(); +} +  // static  void LLGoogleTranslationHandler::parseErrorResponse(  	const Json::Value& root, @@ -218,6 +224,12 @@ bool LLBingTranslationHandler::parseResponse(  	return true;  } +// virtual +bool LLBingTranslationHandler::isConfigured() const +{ +	return !getAPIKey().empty(); +} +  // static  std::string LLBingTranslationHandler::getAPIKey()  { @@ -332,6 +344,12 @@ std::string LLTranslate::getTranslateLanguage()  }  // static +bool LLTranslate::isTranslationConfigured() +{ +	return getPreferredHandler().isConfigured(); +} + +// static  const LLTranslationAPIHandler& LLTranslate::getPreferredHandler()  {  	EService service = SERVICE_BING; diff --git a/indra/newview/lltranslate.h b/indra/newview/lltranslate.h index c2330daa81..424bc14587 100755 --- a/indra/newview/lltranslate.h +++ b/indra/newview/lltranslate.h @@ -89,6 +89,11 @@ public:  		std::string& detected_lang,  		std::string& err_msg) const = 0; +	/** +	 * @return if the handler is configured to function properly +	 */ +	virtual bool isConfigured() const = 0; +  	virtual ~LLTranslationAPIHandler() {}  protected: @@ -115,6 +120,7 @@ public:  		std::string& translation,  		std::string& detected_lang,  		std::string& err_msg) const; +	/*virtual*/ bool isConfigured() const;  private:  	static void parseErrorResponse( @@ -148,6 +154,7 @@ public:  		std::string& translation,  		std::string& detected_lang,  		std::string& err_msg) const; +	/*virtual*/ bool isConfigured() const;  private:  	static std::string getAPIKey();  }; @@ -275,8 +282,17 @@ public :  	 * @param key       Key to verify.  	 */  	static void verifyKey(KeyVerificationReceiverPtr& receiver, const std::string& key); + +	/** +	 * @return translation target language +	 */  	static std::string getTranslateLanguage(); +	/** +	 * @return true if translation is configured properly. +	 */ +	static bool isTranslationConfigured(); +  private:  	static const LLTranslationAPIHandler& getPreferredHandler();  	static const LLTranslationAPIHandler& getHandler(EService service); diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 42dabdec0d..09cce39c3d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1966,7 +1966,7 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_  		}  	} -	LL_WARNS("Plugin") << "plugin intialization failed for mime type: " << media_type << LL_ENDL; +	LL_WARNS_ONCE("Plugin") << "plugin intialization failed for mime type: " << media_type << LL_ENDL;  	LLSD args;  	args["MIME_TYPE"] = media_type;  	LLNotificationsUtil::add("NoPlugin", args); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 31dfa1923c..b73be4ed43 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -130,6 +130,7 @@  #include "llmorphview.h"  #include "llmoveview.h"  #include "llnavigationbar.h" +#include "llpaneltopinfobar.h"  #include "llpopupview.h"  #include "llpreviewtexture.h"  #include "llprogressview.h" @@ -5001,8 +5002,8 @@ void LLViewerWindow::setUIVisibility(bool visible)  		gToolBarView->setToolBarsVisible(visible);  	} -	mRootView->getChildView("topinfo_bar_container")->setVisible(visible); -	mRootView->getChildView("nav_bar_container")->setVisible(visible); +	LLNavigationBar::getInstance()->setVisible(visible ? gSavedSettings.getBOOL("ShowNavbarNavigationPanel") : FALSE); +	LLPanelTopInfoBar::getInstance()->setVisible(visible? gSavedSettings.getBOOL("ShowMiniLocationPanel") : FALSE);  	mRootView->getChildView("status_bar_container")->setVisible(visible);  } diff --git a/indra/newview/skins/default/xui/de/floater_chat_bar.xml b/indra/newview/skins/default/xui/de/floater_chat_bar.xml index dc5a7cd681..2464a55665 100644 --- a/indra/newview/skins/default/xui/de/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/de/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="CHAT IN DER NÄHE"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="Zum Chatten hier klicken." name="chat_box" tool_tip="Eingabetaste zum Sprechen, Strg+Eingabe zum Rufen"/>  		<button name="show_nearby_chat" tool_tip="Chatprotokoll in der Nähe ein-/ausblenden"/>  	</panel> diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 72e7ec8eb4..a5fcd3e0b4 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -1443,7 +1443,7 @@ Zur Installation des Updates muss [APP_NAME] neu gestartet werden.  		<usetemplate ignoretext="Bestätigen, bevor Objekte an Ihre Eigentümer zurückgegeben werden" name="okcancelignore" notext="Abbrechen" yestext="OK"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Sie sind Mitglied der Gruppe [GROUP]. +		Sie sind Mitglied der Gruppe <nolink>[GROUP]</nolink>.  Diese Gruppe verlassen?  		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>  	</notification> diff --git a/indra/newview/skins/default/xui/de/panel_status_bar.xml b/indra/newview/skins/default/xui/de/panel_status_bar.xml index d34fcf70bc..2493d60df6 100644 --- a/indra/newview/skins/default/xui/de/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/de/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="Klicken, um L$-Guthaben zu aktualisieren" value="20 L$"/>  		<button label="L$ kaufen" name="buyL" tool_tip="Hier klicken, um mehr L$ zu kaufen"/> -		<button label="Einkaufen" name="goShop" tool_tip="Second Life-Marktplatz öffnen"/> +		<button label="Einkaufen" name="goShop" tool_tip="Second Life-Marktplatz öffnen" width="85"/>  	</panel>  	<text name="TimeText" tool_tip="Aktuelle Zeit (Pazifik)">  		24:00 H PST diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml index 8d0cecdac3..63992462b3 100644 --- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml @@ -9,6 +9,7 @@   single_instance="true"   title="NEARBY CHAT"   save_rect="true" + save_visibility="true"   can_close="true"   can_minimize="true"   help_topic="chat_bar" @@ -30,6 +31,7 @@      <panel width="300"              height="31"              left="0"  +           name="bottom_panel"             bottom="-1"              follows="left|right|bottom"              tab_group="1"> diff --git a/indra/newview/skins/default/xui/en/menu_edit.xml b/indra/newview/skins/default/xui/en/menu_edit.xml index fab76c497c..99061e089a 100644 --- a/indra/newview/skins/default/xui/en/menu_edit.xml +++ b/indra/newview/skins/default/xui/en/menu_edit.xml @@ -6,6 +6,7 @@    <menu_item_call     label="Undo"     name="Undo" +   allow_key_repeat="true"     shortcut="control|Z">      <menu_item_call.on_click       function="Edit.Undo" /> @@ -15,6 +16,7 @@    <menu_item_call     label="Redo"     name="Redo" +   allow_key_repeat="true"     shortcut="control|Y">      <menu_item_call.on_click       function="Edit.Redo" /> @@ -43,6 +45,7 @@    <menu_item_call     label="Paste"     name="Paste" +   allow_key_repeat="true"     shortcut="control|V">      <menu_item_call.on_click       function="Edit.Paste" /> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 0aa5c72f2a..7d0ab33b66 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1154,6 +1154,7 @@           enabled="false"           label="Undo"           name="Undo" +         allow_key_repeat="true"           shortcut="control|Z">              <on_click               function="Edit.Undo" @@ -1165,6 +1166,7 @@           enabled="false"           label="Redo"           name="Redo" +         allow_key_repeat="true"           shortcut="control|Y">              <on_click               function="Edit.Redo" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index a7705c8bac..1daf2e6948 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3409,7 +3409,7 @@ Are you sure you want to return the selected objects to their owners? Transferab     icon="alert.tga"     name="GroupLeaveConfirmMember"     type="alert"> -You are currently a member of the group [GROUP]. +You are currently a member of the group <nolink>[GROUP]</nolink>.  Leave Group?      <tag>group</tag>      <tag>confirm</tag> @@ -6953,6 +6953,26 @@ With the following Residents:    <notification     icon="notifytip.tga" +   name="ShareFolderConfirmation" +   type="alertmodal"> +Only one folder at a time can be shared. + +Are you sure you want to share the following items: + +<nolink>[ITEMS]</nolink> + +With the following Residents: + +[RESIDENTS] +  <tag>confirm</tag> +	<usetemplate +     name="okcancelbuttons" +     notext="Cancel" +     yestext="Ok"/> +  </notification> +   +  <notification +   icon="notifytip.tga"     name="ItemsShared"     type="notifytip">  Items successfully shared. diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index 38b680ba86..adde982c60 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -225,13 +225,22 @@ Hover your mouse over the options for more help.           height="23"           increment="1"           label_width="15" -         label="L$"           layout="topleft"           max_val="99999"           left="30"           name="spin_enrollment_fee"           tool_tip="New members must pay this fee to join the group when Enrollment Fee is checked." -         width="170" /> +         width="150" /> +        <text +         follows="left|top" +         type="string" +         height="16" +         left_pad="2" +         name="currency_label" +         top_delta="5" +         width="18"> +         L$ +        </text>          <combo_box           follows="left|top"           height="23" diff --git a/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml index d8ff043444..ebba292a93 100644 --- a/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml +++ b/indra/newview/skins/default/xui/en/panel_snapshot_postcard.xml @@ -16,14 +16,6 @@       name="upload_message">          Sending...      </string> -    <string -     name="default_subject"> -        Postcard from [SECOND_LIFE]. -    </string> -    <string -     name="default_message"> -        Check this out! -    </string>      <icon       follows="top|left"       height="18" diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 3239c4e531..d453a970e7 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -70,7 +70,7 @@       pad_bottom="2"       tool_tip="Click to buy more L$"       top="0" -     width="55" /> +     width="80" />      <button       halign="left"       font="SansSerifSmall" @@ -87,7 +87,6 @@       left_pad="0"       label_shadow="true"       name="goShop" -     pad_right="0"       pad_bottom="2"       tool_tip="Open Second Life Marketplace"       top="0" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 9752a07b66..2ae56bc729 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2272,7 +2272,7 @@ Returns a string with the requested data about the region  	<string name="NextStipendDay"       value="The next stipend day is " />  	<string name="GroupPlanningDate">[mthnum,datetime,utc]/[day,datetime,utc]/[year,datetime,utc]</string>  	<string name="GroupIndividualShare" value="                      Group       Individual Share" /> -	<string name="GroupColumn"          value="                      Group" /> +	<string name="GroupColumn"          value="Group" />  	<string name="Balance">Balance</string>  	<string name="Credits">Credits</string>  	<string name="Debits">Debits</string> @@ -3503,6 +3503,9 @@ Abuse Report</string>    <string name="dateTimeDayFormat">[MDAY]</string>    <string name="dateTimeAM">AM</string>    <string name="dateTimePM">PM</string> +   +  <!-- Format string for displaying a localized date in a scroll list cell of type "date" --> +  <string name="ScrollListCellDateFormat">[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]</string>    <!--  currency formatting -->    <string name="LocalEstimateUSD">US$ [AMOUNT]</string> diff --git a/indra/newview/skins/default/xui/en/widgets/window_shade.xml b/indra/newview/skins/default/xui/en/widgets/window_shade.xml new file mode 100644 index 0000000000..23eb2f13fb --- /dev/null +++ b/indra/newview/skins/default/xui/en/widgets/window_shade.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<window_shade shade_color="0 0 0 0.5"/> diff --git a/indra/newview/skins/default/xui/es/floater_chat_bar.xml b/indra/newview/skins/default/xui/es/floater_chat_bar.xml index 5e5ef616b8..2e94805057 100644 --- a/indra/newview/skins/default/xui/es/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/es/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="CHAT"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="Pulsa aquí para chatear." name="chat_box" tool_tip="Pulsa Enter para decirlo o Ctrl+Enter para gritarlo"/>  		<button name="show_nearby_chat" tool_tip="Muestra o esconde el registro del chat"/>  	</panel> diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index 9591b424fc..0de56f9b6d 100644 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -1437,7 +1437,7 @@ Debemos reiniciar [APP_NAME] para instalar la actualización.  		<usetemplate ignoretext="Confirmar antes de devolver objetos a sus propietarios." name="okcancelignore" notext="Cancelar" yestext="OK"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Actualmente, eres miembro del grupo [GROUP]. +		Actualmente, eres miembro del grupo <nolink>[GROUP]</nolink>.  ¿Dejar el grupo?  		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>  	</notification> diff --git a/indra/newview/skins/default/xui/es/panel_status_bar.xml b/indra/newview/skins/default/xui/es/panel_status_bar.xml index d43790c8c6..79b2c32b23 100644 --- a/indra/newview/skins/default/xui/es/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/es/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="Haz clic para actualizar tu saldo en L$" value="20 L$"/>  		<button label="Comprar L$" name="buyL" tool_tip="Pulsa para comprar más L$"/> -		<button label="Comprar" name="goShop" tool_tip="Abrir el mercado de Second Life"/> +		<button label="Comprar" name="goShop" tool_tip="Abrir el mercado de Second Life" width="80"/>  	</panel>  	<text name="TimeText" tool_tip="Hora actual (Pacífico)">  		24:00 AM PST diff --git a/indra/newview/skins/default/xui/fr/floater_chat_bar.xml b/indra/newview/skins/default/xui/fr/floater_chat_bar.xml index 88a2fb669b..c7d27c0589 100644 --- a/indra/newview/skins/default/xui/fr/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/fr/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="CHAT PRÈS DE MOI"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="Cliquer ici pour chatter." name="chat_box" tool_tip="Appuyer sur Entrée pour dire, Ctrl-Entrée pour crier"/>  		<button name="show_nearby_chat" tool_tip="Affiche/Masque le journal de chats près de vous"/>  	</panel> diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index d8d79d8dde..be6f1f8c31 100644 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -1428,7 +1428,7 @@ Version [VERSION]  		<usetemplate ignoretext="Confirmer avant de rendre les objets à leurs propriétaires" name="okcancelignore" notext="Annuler" yestext="OK"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Vous êtes actuellement membre du groupe [GROUP]. +		Vous êtes actuellement membre du groupe <nolink>[GROUP]</nolink>.  Quitter le groupe ?  		<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>  	</notification> diff --git a/indra/newview/skins/default/xui/fr/panel_status_bar.xml b/indra/newview/skins/default/xui/fr/panel_status_bar.xml index ac61eb7e52..c0d59a3182 100644 --- a/indra/newview/skins/default/xui/fr/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/fr/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="Cliquer sur ce bouton pour actualiser votre solde en L$." value="20 L$"/>  		<button label="Acheter L$" name="buyL" tool_tip="Cliquer pour acheter plus de L$."/> -		<button label="Achats" name="goShop" tool_tip="Ouvrir la Place du marché Second Life."/> +		<button label="Achats" name="goShop" tool_tip="Ouvrir la Place du marché Second Life." width="75"/>  	</panel>  	<text name="TimeText" tool_tip="Heure actuelle (Pacifique)">  		00h00 PST diff --git a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml index 95649d3934..0b5333fc80 100644 --- a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml @@ -13,7 +13,7 @@  		Le propriétaire peut :  	</panel.string>  	<panel.string name="acquiredDate"> -		[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local] +		[wkday,datetime,local] [day,datetime,local] [mth,datetime,local] [year,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local]  	</panel.string>  	<panel.string name="origin_inventory">  		(inventaire) diff --git a/indra/newview/skins/default/xui/it/floater_chat_bar.xml b/indra/newview/skins/default/xui/it/floater_chat_bar.xml index 6c5c8fbea0..94c85b50c8 100644 --- a/indra/newview/skins/default/xui/it/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/it/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="CHAT NEI DINTORNI"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="Clicca qui per la chat." name="chat_box" tool_tip="Premi Invio per parlare, Ctrl+Invio per gridare"/>  		<button name="show_nearby_chat" tool_tip="Mostra/Nasconde il registro della chat nei dintorni"/>  	</panel> diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 2db0892cd6..fce027da0c 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -1432,7 +1432,7 @@ Per installare l'aggiornamento è necessario riavviare [APP_NAME].  		<usetemplate ignoretext="Conferma prima di restituire gli oggetti ai relativi proprietari" name="okcancelignore" notext="Annulla" yestext="OK"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Sei attualmente un membro del gruppo [GROUP]. +		Sei attualmente un membro del gruppo <nolink>[GROUP]</nolink>.  Vuoi lasciare il gruppo?  		<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>  	</notification> diff --git a/indra/newview/skins/default/xui/it/panel_status_bar.xml b/indra/newview/skins/default/xui/it/panel_status_bar.xml index fadaa575ea..4abc90113f 100644 --- a/indra/newview/skins/default/xui/it/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/it/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="Clicca per aggiornare il tuo saldo in L$" value="L$ 20"/>  		<button label="Acquista L$" name="buyL" tool_tip="Clicca per acquistare più L$"/> -		<button label="Acquisti" name="goShop" tool_tip="Apri Mercato Second Life"/> +		<button label="Acquisti" name="goShop" tool_tip="Apri Mercato Second Life" width="75"/>  	</panel>  	<text name="TimeText" tool_tip="Orario attuale (Pacifico)">  		24:00, ora del Pacifico diff --git a/indra/newview/skins/default/xui/ja/floater_chat_bar.xml b/indra/newview/skins/default/xui/ja/floater_chat_bar.xml index 9735afb101..504cea5931 100644 --- a/indra/newview/skins/default/xui/ja/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/ja/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="近くのチャット"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="ここをクリックしてチャットを開始します。" name="chat_box" tool_tip="Enter キーを押して話し、Ctrl + Enter キーで叫びます。"/>  		<button name="show_nearby_chat" tool_tip="近くのチャットログを表示・非表示"/>  	</panel> diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml index 7dfa6d2f7a..141f2c8071 100644 --- a/indra/newview/skins/default/xui/ja/notifications.xml +++ b/indra/newview/skins/default/xui/ja/notifications.xml @@ -1467,7 +1467,7 @@ http://secondlife.com/download から最新バージョンをダウンロード  		<usetemplate ignoretext="オブジェクトを所有者に返却する前の確認" name="okcancelignore" notext="取り消し" yestext="OK"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		現在あなたは [GROUP] のメンバーです。 +		現在あなたは <nolink>[GROUP]</nolink> のメンバーです。  このグループを抜けますか?  		<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>  	</notification> diff --git a/indra/newview/skins/default/xui/ja/panel_status_bar.xml b/indra/newview/skins/default/xui/ja/panel_status_bar.xml index 93689b81af..4fb876f690 100644 --- a/indra/newview/skins/default/xui/ja/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/ja/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="クリックして L$ 残高を更新" value="L$20"/>  		<button label="L$ の購入" name="buyL" tool_tip="クリックして L$ を購入します"/> -		<button label="店" name="goShop" tool_tip="Second Life マーケットプレイスを開く"/> +		<button label="店" name="goShop" tool_tip="Second Life マーケットプレイスを開く"  width="40"/>  	</panel>  	<text name="TimeText" tool_tip="現在時刻(太平洋)">  		24:00 AM PST diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml index e1fb6dd3f1..0194293642 100644 --- a/indra/newview/skins/default/xui/pl/notifications.xml +++ b/indra/newview/skins/default/xui/pl/notifications.xml @@ -1385,7 +1385,7 @@ W celu instalacji aktualizacji musi zostać wykonany restart [APP_NAME].  		<usetemplate ignoretext="Potwierdź zanim zwrócisz obiekty do ich właścicieli" name="okcancelignore" notext="Anuluj" yestext="OK"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Jesteś członkiem grupy [GROUP]. +		Jesteś członkiem grupy <nolink>[GROUP]</nolink>.  Chcesz opuścić grupę?  		<usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/>  	</notification> diff --git a/indra/newview/skins/default/xui/pt/floater_chat_bar.xml b/indra/newview/skins/default/xui/pt/floater_chat_bar.xml index c089ab93f2..72016c6b40 100644 --- a/indra/newview/skins/default/xui/pt/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/pt/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="BATE-PAPO LOCAL"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="Clique aqui para bater papo." name="chat_box" tool_tip="Tecle Enter para falar, Ctrl+Enter para gritar"/>  		<button name="show_nearby_chat" tool_tip="Mostra/oculta o histórico do bate-papo local"/>  	</panel> diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index d3547beeb3..b53ebeb136 100644 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -1419,7 +1419,7 @@ Para instalar a atualização, será preciso reiniciar o [APP_NAME].  		<usetemplate ignoretext="Confirmar antes de devolver objetos a seus donos" name="okcancelignore" notext="Cancelar" yestext="Retornar"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Você é atualmente um membro do grupo [GROUP]. +		Você é atualmente um membro do grupo <nolink>[GROUP]</nolink>.  Sair do grupo?  		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Sair"/>  	</notification> diff --git a/indra/newview/skins/default/xui/pt/panel_status_bar.xml b/indra/newview/skins/default/xui/pt/panel_status_bar.xml index d5a3258ddc..22853f0643 100644 --- a/indra/newview/skins/default/xui/pt/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/pt/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="Atualizar saldo de L$" value="L$20"/>  		<button label="Comprar L$" name="buyL" tool_tip="Comprar mais L$"/> -		<button label="Comprar" name="goShop" tool_tip="Abrir Mercado do Second Life"/> +		<button label="Comprar" name="goShop" tool_tip="Abrir Mercado do Second Life" width="80"/>  	</panel>  	<text name="TimeText" tool_tip="Hora atual (Pacífico)">  		24:00 AM PST diff --git a/indra/newview/skins/default/xui/ru/floater_chat_bar.xml b/indra/newview/skins/default/xui/ru/floater_chat_bar.xml index eceab1775a..79b7b033fb 100644 --- a/indra/newview/skins/default/xui/ru/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/ru/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="ЛОКАЛЬНЫЙ ЧАТ"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="Щелкните здесь для общения." name="chat_box" tool_tip="Нажмите Enter, чтобы сказать, Ctrl+Enter, чтобы прокричать"/>  		<button name="show_nearby_chat" tool_tip="Показать/скрыть лог локального чата"/>  	</panel> diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml index 1be14160ed..f121743fe9 100644 --- a/indra/newview/skins/default/xui/ru/notifications.xml +++ b/indra/newview/skins/default/xui/ru/notifications.xml @@ -1431,7 +1431,7 @@ http://secondlife.com/download.  		<usetemplate ignoretext="Подтверждать перед возвратом объектов владельцам" name="okcancelignore" notext="Отмена" yestext="OK"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Вы являетесь участником группы [GROUP]. +		Вы являетесь участником группы <nolink>[GROUP]</nolink>.  Хотите покинуть группу?  		<usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/>  	</notification> diff --git a/indra/newview/skins/default/xui/ru/panel_status_bar.xml b/indra/newview/skins/default/xui/ru/panel_status_bar.xml index 6822244196..babe5811ac 100644 --- a/indra/newview/skins/default/xui/ru/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/ru/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="Щелкните для обновления вашего баланса L$" value="L$20"/>  		<button label="Купить L$" name="buyL" tool_tip="Щелкните для покупки L$"/> -		<button label="Торговый центр" name="goShop" tool_tip="Открыть торговый центр Second Life"/> +		<button label="Торговый центр" name="goShop" tool_tip="Открыть торговый центр Second Life" width="121"/>  	</panel>  	<text name="TimeText" tool_tip="Текущее время (тихоокеанское)">  		00:00 (тихоокеанское время) diff --git a/indra/newview/skins/default/xui/tr/floater_chat_bar.xml b/indra/newview/skins/default/xui/tr/floater_chat_bar.xml index d2385e6be3..dee17b7bc4 100644 --- a/indra/newview/skins/default/xui/tr/floater_chat_bar.xml +++ b/indra/newview/skins/default/xui/tr/floater_chat_bar.xml @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <floater name="chat_bar" title="YAKINDAKİ SOHBET"> -	<panel> +	<panel name="bottom_panel">  		<line_editor label="Sohbet etmek için buraya tıklayın." name="chat_box" tool_tip="Söylemek için Enter, bağırmak için Ctrl+Enter yapın"/>  		<button name="show_nearby_chat" tool_tip="yakın sohbet günlüğünü gösterir/gizler"/>  	</panel> diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml index 6908f6867f..c0dc67ed34 100644 --- a/indra/newview/skins/default/xui/tr/notifications.xml +++ b/indra/newview/skins/default/xui/tr/notifications.xml @@ -1431,7 +1431,7 @@ Güncellemeyi kurmak için [APP_NAME] uygulamasını yeniden başlatmalısınız  		<usetemplate ignoretext="Nesneleri sahiplerine iade etmeden önce doğrulama iste" name="okcancelignore" notext="İptal" yestext="Tamam"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		Şu anda [GROUP] grubunun bir üyesisiniz. +		Şu anda <nolink>[GROUP]</nolink> grubunun bir üyesisiniz.  Gruptan ayrılmak istiyor musunuz?  		<usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/>  	</notification> diff --git a/indra/newview/skins/default/xui/tr/panel_status_bar.xml b/indra/newview/skins/default/xui/tr/panel_status_bar.xml index 63726b94e2..81c304a5d8 100644 --- a/indra/newview/skins/default/xui/tr/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/tr/panel_status_bar.xml @@ -18,7 +18,7 @@  	<panel name="balance_bg">  		<text name="balance" tool_tip="L$ bakiyenizi yenilemek için buraya tıklayın" value="L$20"/>  		<button label="L$ Satın Al" name="buyL" tool_tip="Daha fazla L$ satın almak için tıklayın"/> -		<button label="Alışveriş yap" name="goShop" tool_tip="Second Life Pazaryeri Aç"/> +		<button label="Alışveriş yap" name="goShop" tool_tip="Second Life Pazaryeri Aç" width="95"/>  	</panel>  	<text name="TimeText" tool_tip="Geçerli zaman (Pasifik)">  		24:00 AM PST diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml index 17ff6288a5..3fa8ff3f78 100644 --- a/indra/newview/skins/default/xui/zh/notifications.xml +++ b/indra/newview/skins/default/xui/zh/notifications.xml @@ -1418,7 +1418,7 @@ We must restart [APP_NAME] to install the update.  		<usetemplate ignoretext="在我退回物件給它們的擁有者前確認" name="okcancelignore" notext="取消" yestext="確定"/>  	</notification>  	<notification name="GroupLeaveConfirmMember"> -		你目前是 [GROUP] 群組的成員。 +		你目前是 <nolink>[GROUP]</nolink> 群組的成員。  是否要離開群組?  		<usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/>  	</notification> diff --git a/indra/newview/skins/paths.xml b/indra/newview/skins/paths.xml index e6d68488ea..3c0da041c7 100644 --- a/indra/newview/skins/paths.xml +++ b/indra/newview/skins/paths.xml @@ -1,4 +1,4 @@ -<paths> +<paths>   	<directory>      <subdir>xui</subdir>      <subdir>en</subdir> | 
