From f0ba3d35b214d75ccf0deb5550fd5e3e9bf4e113 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov Date: Thu, 16 Sep 2010 20:58:02 +0300 Subject: STORM-107 FIXED Fixed Polish character corruption in date. Added polish language to list of languages that use months and days names from localized xmls. It solved the problem of accented Polish characters "approximation" to their ASCII brethren on non-Polish Windows locales. Now all accented symbols look right. --- indra/newview/llappviewer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview') 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")); -- cgit v1.3 From c331607d97569be05f5f61abc93c6eac67ac070f Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Thu, 16 Sep 2010 22:01:40 +0300 Subject: STORM-185 FIXED Don't reset accordions in the Outfit Edit panel when a wearable gets worn. The fix consists of two parts: 1. Saving/restoring scrollbar position when refreshing the clothing/attachments/bodyparts lists (the lists get refreshed on COF change). 2. Not resetting expanded accordion tab upon wearing an item (which was introduced with the fix of EXT-8164). So, apart from preserving scrollbar position (which is what the bug reporter requests), I also fixed that when you wear something, the Clothing accordion was always expanded. --- indra/newview/llcofwearables.cpp | 19 ++++++++++++++++++- indra/newview/llsidepanelappearance.cpp | 2 ++ 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'indra/newview') 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 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 values_vector_t; typedef std::map 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 -- cgit v1.3