diff options
author | Seth ProductEngine <slitovchuk@productengine.com> | 2010-11-03 22:50:09 +0200 |
---|---|---|
committer | Seth ProductEngine <slitovchuk@productengine.com> | 2010-11-03 22:50:09 +0200 |
commit | b66389df893d1e316a5aabc9523c3f46d6f4c6c8 (patch) | |
tree | 85b3782e4f6b174126e251dd38f35335269ecf20 | |
parent | 6a9e70053beaa0fb936482f5594137a8bcdf2f1e (diff) |
STORM-536 FIXED scrolling to collapsed accordion tab with keyboard arrows in Places SP->My Landmarks.
- Fixed scrolling to selected item when a folder view receives selection inside an accordion tab while being out of visible scrolling area.
- Fixed scrolling to collapsed accordion tab when it receives selection while being out of visible scrolling area.
-rw-r--r-- | indra/llui/llaccordionctrltab.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llfolderview.cpp | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp index 179b32098a..174dba28d0 100644 --- a/indra/llui/llaccordionctrltab.cpp +++ b/indra/llui/llaccordionctrltab.cpp @@ -837,8 +837,13 @@ void LLAccordionCtrlTab::showAndFocusHeader() LLRect screen_rc; LLRect selected_rc = header->getRect(); localRectToScreen(selected_rc, &screen_rc); - notifyParent(LLSD().with("scrollToShowRect",screen_rc.getValue())); + // This call to notifyParent() is intended to deliver "scrollToShowRect" command + // to the parent LLAccordionCtrl so by calling it from the direct parent of this + // accordion tab (assuming that the parent is an LLAccordionCtrl) the calls chain + // is shortened and messages from inside the collapsed tabs are avoided. + // See STORM-536. + getParent()->notifyParent(LLSD().with("scrollToShowRect",screen_rc.getValue())); } void LLAccordionCtrlTab::storeOpenCloseState() { diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index c38cd4d090..62ba746a02 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -2429,6 +2429,7 @@ S32 LLFolderView::notify(const LLSD& info) { setFocus(true); selectFirstItem(); + scrollToShowSelection(); return 1; } @@ -2436,6 +2437,7 @@ S32 LLFolderView::notify(const LLSD& info) { setFocus(true); selectLastItem(); + scrollToShowSelection(); return 1; } } |