This fix reverts the initial fix for FIRE-5141 (e756e5e01e11) and replaces it
with a more specific one: The panel for the bottom toolbar buttons will always
stay visible regardless if it contains buttons or not, unless the whole toolbar
itself will be hidden (which happens for mouselook in case the UI should not be
shown). This means the nearby chat bar can be resized unless being in mouselook
and having UI in mouselook disabled.
EXP-897 FIX -- Black box shown in UI when shrinking Inbox down in size
* Layout panel now supports "expanded_min_dim" parameter which allows a different min
size to be specified when the layout panel is collapsed vs expanded.
* Inbox and Outbox expanded_min_dim attributes are now set to be larger than min dim
so they can not be collapsed all the way when they are expanded.
refactored LLWindowShade into seperate file
improved layout of dialog
improved dialog resizing logic
Tab and Enter keys now work as expected in windowshade form
added "modal" capability to window shade
added HTTP Auth notifications to MOAP
- Added methods responsible for saving and loading order of buttons to bottomtray. Order is saved after each drag'n'drop to
ensure user's customization of bottomtray is not lost because of crash.
- Added additional argument to layoutstack movePanel() method which tells it to move panel to the beginning of mPanels vector
without requiring a pointer to panel before which it should be inserted.
Reviewed by Vadim Savchuk.
- Though visually user drags buttons, layout panels are really moved. To move one panel before other, new method movePanelBeforeOther() was added to layout stack.
- When drag'n'drop is finished, order of panels in layout stack mToolbarStack is changed, and also order vectors are updated in bottomtray.These are vectors mButtonsProcessOrder and mButtonsOrder. mButtonsOrder was introduced in this changeset to store order of all bottomtray buttons that may change place via drag'n'drop and should save and load it between sessions. mButtonsProcessOrder is not enough for it because it contains only buttons that may be hidden(and for example Speak button is not included in it).
- To pass mouse events from buttons to bottomtray, new class LLBottomtrayButton was added (and new widget bottomtray_button for it).
Reviewed by Vadim Savchuk.