diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llappviewer.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llcofwearables.cpp | 19 | ||||
| -rw-r--r-- | indra/newview/llsidepanelappearance.cpp | 2 | 
3 files changed, 22 insertions, 2 deletions
| diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index fd6b8b739d..92a9b83bc5 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -928,8 +928,9 @@ bool LLAppViewer::init()  	//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 = LLControlGroup::getInstance(sGlobalSettingsName)->getString("Language"); -	if(language == "ja") +	if(language == "ja" || language == "pl")  	{  		LLStringOps::setupWeekDaysNames(LLTrans::getString("dateTimeWeekdaysNames"));  		LLStringOps::setupWeekDaysShortNames(LLTrans::getString("dateTimeWeekdaysShortNames")); diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index b1e11e1a2a..84c560639e 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -397,12 +397,20 @@ void LLCOFWearables::refresh()  	mCOFVersion = catp->getVersion(); +	// Save current scrollbar position. +	typedef std::map<LLFlatListView*, LLRect> scroll_pos_map_t; +	scroll_pos_map_t saved_scroll_pos; + +	saved_scroll_pos[mAttachments] = mAttachments->getVisibleContentRect(); +	saved_scroll_pos[mClothing] = mClothing->getVisibleContentRect(); +	saved_scroll_pos[mBodyParts] = mBodyParts->getVisibleContentRect(); + +	// Save current selection.  	typedef std::vector<LLSD> values_vector_t;  	typedef std::map<LLFlatListView*, values_vector_t> selection_map_t;  	selection_map_t preserve_selection; -	// Save current selection  	mAttachments->getSelectedValues(preserve_selection[mAttachments]);  	mClothing->getSelectedValues(preserve_selection[mClothing]);  	mBodyParts->getSelectedValues(preserve_selection[mBodyParts]); @@ -450,6 +458,15 @@ void LLCOFWearables::refresh()  		list->setCommitOnSelectionChange(true);  	} + +	// Restore previous scrollbar position. +	for (scroll_pos_map_t::const_iterator it = saved_scroll_pos.begin(); it != saved_scroll_pos.end(); ++it) +	{ +		LLFlatListView* list = it->first; +		LLRect scroll_pos = it->second; + +		list->scrollToShowRect(scroll_pos); +	}  } diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 7206e4fcaf..a3c6a7b6f1 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -286,6 +286,8 @@ void LLSidepanelAppearance::showOutfitsInventoryPanel()  void LLSidepanelAppearance::showOutfitEditPanel()  { +	if (mOutfitEdit && mOutfitEdit->getVisible()) return; +  	// Accordion's state must be reset in all cases except the one when user  	// is returning back to the mOutfitEdit panel from the mEditWearable panel.  	// The simplest way to control this is to check the visibility state of the mEditWearable | 
