diff options
author | Steven Bennetts <steve@lindenlab.com> | 2008-02-19 23:12:34 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2008-02-19 23:12:34 +0000 |
commit | 903292ba6779daabdb25cf22862cef6907a81f3d (patch) | |
tree | 3bb0d58e749e70c79cd5adef768aed79228ea487 /indra/llui/llpanel.cpp | |
parent | 2e32d44e7165775936beae5d9ef636ff9d3f2bd2 (diff) |
merge -r 78989:80279 Branch_1-19-0-Viewer-> release
Changes from 1.19.0.2 and 1.19.0.3
DEV-9226 Some Dazzle? icons have sneaked into the release branch
DEV-9226 - lock icon not appearing in properties window for no-modify inventory items
DEV-8771 Preferences > Web has truncated text in the Address: section, ported and tested minor xml change
DEV-9736 commit 1.19.0 second set of translated xui strings
DEV-9825 Make the region info message a passive notification
DEV-7714 - Korean viewer crashes on startup.
DEV-9759 - Stand up button etc dissapear offscreen after using mouselook
DEV-9938 client-readme-voice.txt missing from open source distribution
DEV-9436 Changed default SL window size to 1000x700, to allow buttons in UI to have proper labels (Communicate) and search to fit onscreen.
DEV-10031 Clicking on another users classifieds ad then closing asks you to save changes
DEV-10066 Checking to select a role does not enable the apply button
DEV-8809 stray 'Done" on the Profile Web tab
DEV-8515 Debug settings overrides do not work for booleans. svn merge -r77376:77377 sl-parcelmedia-3. OK by cg.
DEV-10083: Preferences window docks at an offscreen position and cannot be moved vertically
DEV-10186 - LLIMPanel kills the framerate for group ims.
DEV-10108 Viewer freeze and delay in opening map
DEV-10115 Visible flashing of prim highlight when editing
DEV-10112 Parcel audio play setting is not remembered when crossing over a parcel with no media
DEV-10109 Alt and left/right arrow keys dont move you between tabs
DEV-10093 Login Page > SL Release link overlaps Quit when viewer resized
DEV-10048 Redocking the Contact list causes the communicate ui to get ugly
DEV-8131 Deutsch "System Default" is translated as "System Error" in language preferences
DEV-10209 - reverted floater_test.xml to empty floater.
DEV-10255 - Clicking on gestures button moves open windows
DEV-10046 Pressing escape doesnt cause the chat history or inventory windows to lose focus
DEV-10399 -- Update required version of QuickTime library to 7.4.1 for 1.19.0 Viewer
DEV-10410 - Toggling voice causes layout problems in toolbar
DEV-8562 - Viewer crash just after login
DEV-10147 - "LLXmlTree parse failed" with settings_releasecandidate.xml
DEV-9874 - Land forsale icon in menubar overlaps pushobject restriction icon
DEV-9701 - Upload Animation window: Button missing in Stopped window state
DEV-10355 - Client crashes when viewing the proposals tab in group information
DEV-10521 My Landmarks dropdown list adds a repetition to EOF every time it's opened
DEV-10496 Groups>Proposals>Past Vote text gets chomped
DEV-10499 Defaulted buttons in floater dialogs remain highlighted when not in focus
DEV-5611 - Crash reporter appears in the background on mac (Changed launch to use open instead of direct binary call)
DEV-10704 - Crash reporter not initializing boolean, causing false exec_froze reporting (Added initilizer to constructor)
Diffstat (limited to 'indra/llui/llpanel.cpp')
-rw-r--r-- | indra/llui/llpanel.cpp | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index 6554a25dcf..4c16683704 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -211,6 +211,11 @@ void LLPanel::draw() } } + updateDefaultBtn(); +} + +void LLPanel::updateDefaultBtn() +{ if( mDefaultBtn) { if (gFocusMgr.childHasKeyboardFocus( this ) && mDefaultBtn->getEnabled()) @@ -353,6 +358,13 @@ BOOL LLPanel::handleKeyHere( KEY key, MASK mask, BOOL called_from_parent ) if( getVisible() && getEnabled() && gFocusMgr.childHasKeyboardFocus(this) && !called_from_parent ) { + // handle user hitting ESC to defocus + if (key == KEY_ESCAPE) + { + gFocusMgr.setKeyboardFocus(NULL); + return TRUE; + } + LLUICtrl* cur_focus = gFocusMgr.getKeyboardFocus(); // If we have a default button, click it when // return is pressed, unless current focus is a return-capturing button @@ -1298,6 +1310,7 @@ LLView* LLLayoutStack::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactor } } } + layout_stackp->updateLayout(); return layout_stackp; } @@ -1408,10 +1421,14 @@ void LLLayoutStack::updateLayout(BOOL force_resize) { // panels that are not fully visible do not count towards shrink headroom if ((*panel_it)->mVisibleAmt < 1.f) + { continue; + } // if currently resizing a panel or the panel is flagged as not automatically resizing // only track total available headroom, but don't use it for automatic resize logic - if ((*panel_it)->mResizeBar->hasMouseCapture() || (!(*panel_it)->mAutoResize && !force_resize)) + if ((*panel_it)->mResizeBar->hasMouseCapture() + || (!(*panel_it)->mAutoResize + && !force_resize)) { if (mOrientation == HORIZONTAL) { @@ -1464,7 +1481,9 @@ void LLLayoutStack::updateLayout(BOOL force_resize) S32 delta_size = 0; // if panel can automatically resize (not animating, and resize flag set)... - if ((*panel_it)->mVisibleAmt == 1.f && (force_resize || (*panel_it)->mAutoResize) && !(*panel_it)->mResizeBar->hasMouseCapture()) + if ((*panel_it)->mVisibleAmt == 1.f + && (force_resize || (*panel_it)->mAutoResize) + && !(*panel_it)->mResizeBar->hasMouseCapture()) { if (mOrientation == HORIZONTAL) { @@ -1472,7 +1491,7 @@ void LLLayoutStack::updateLayout(BOOL force_resize) if (pixels_to_distribute < 0) { // shrink proportionally to amount over minimum - delta_size = llround((F32)pixels_to_distribute * (F32)(cur_width - (*panel_it)->mMinWidth) / (F32)shrink_headroom_available); + delta_size = (shrink_headroom_available > 0) ? llround((F32)pixels_to_distribute * (F32)(cur_width - (*panel_it)->mMinWidth) / (F32)shrink_headroom_available) : 0; } else { @@ -1491,7 +1510,7 @@ void LLLayoutStack::updateLayout(BOOL force_resize) if (pixels_to_distribute < 0) { // shrink proportionally to amount over minimum - delta_size = llround((F32)pixels_to_distribute * (F32)(cur_height - (*panel_it)->mMinHeight) / (F32)shrink_headroom_available); + delta_size = (shrink_headroom_available > 0) ? llround((F32)pixels_to_distribute * (F32)(cur_height - (*panel_it)->mMinHeight) / (F32)shrink_headroom_available) : 0; } else { @@ -1583,9 +1602,10 @@ void LLLayoutStack::updateLayout(BOOL force_resize) } // not enough room to fit existing contents - if (!force_resize - && ((cur_y != -mPanelSpacing) - || (cur_x != getRect().getWidth() + mPanelSpacing))) + if (force_resize == FALSE + // layout did not complete by reaching target position + && ((mOrientation == VERTICAL && cur_y != -mPanelSpacing) + || (mOrientation == HORIZONTAL && cur_x != getRect().getWidth() + mPanelSpacing))) { // do another layout pass with all stacked elements contributing // even those that don't usually resize |