summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelpeople.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2009-12-29 11:55:20 -0800
committerJames Cook <james@lindenlab.com>2009-12-29 11:55:20 -0800
commitc2915a889987e64484c9794d55740e7f6ac8f9bd (patch)
treee09a6050829fbc4b1f8fdae03f6c12742ba903ed /indra/newview/llpanelpeople.cpp
parent1e9a5c21e5493ad3dabec4d032bc0a627e2f725f (diff)
parent3519435bbfeec4c838d5ffbe008d0ac7bbc085a8 (diff)
Merge viewer-2-0 into gooey
Diffstat (limited to 'indra/newview/llpanelpeople.cpp')
-rw-r--r--indra/newview/llpanelpeople.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index e5846c7318..5cc4d4aec6 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -965,6 +965,13 @@ void LLPanelPeople::onFilterEdit(const std::string& search_string)
mFilterSubString = search_upper;
+ //store accordion tabs state before any manipulation with accordion tabs
+ if(!mFilterSubString.empty())
+ {
+ notifyChildren(LLSD().with("action","store_state"));
+ }
+
+
// Apply new filter.
mNearbyList->setNameFilter(mFilterSubString);
mOnlineFriendList->setNameFilter(mFilterSubString);
@@ -976,6 +983,12 @@ void LLPanelPeople::onFilterEdit(const std::string& search_string)
setAccordionCollapsedByUser("tab_all", false);
showFriendsAccordionsIfNeeded();
+
+ //restore accordion tabs state _after_ all manipulations...
+ if(mFilterSubString.empty())
+ {
+ notifyChildren(LLSD().with("action","restore_state"));
+ }
}
void LLPanelPeople::onTabSelected(const LLSD& param)
@@ -984,6 +997,8 @@ void LLPanelPeople::onTabSelected(const LLSD& param)
mNearbyListUpdater->setActive(tab_name == NEARBY_TAB_NAME);
updateButtons();
+ showFriendsAccordionsIfNeeded();
+
if (GROUP_TAB_NAME == tab_name)
mFilterEditor->setLabel(getString("groups_filter_label"));
else