merge
commit
0efca82b5e
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue