Reason: The shortcut closes all floaters, including those wrapping undocked sidepanels.
The sidepanels get destroyed as well, while they are still referenced by the side tray.
Fix: Dock (i.e. move to side tray) the sidepanel before its floater gets destroyed.
ShowSideTrayPanel action can now toggle undocked panels
OpenSidePanelsInFloaters works now
Clossing a sidepanel floater will not return contents to side tray
close button enabled in minimal skin for side panel floaters
Expand XUI-visible LLUICtrl::CommitCallbackRegistry operations to include
"SideTray.Toggle" and "SideTray.Collapse".
Give LLSideTrayListener friend access to LLSideTray so it can query the
attached and detached tabs. Introduce tab_cast template to deal with the
unavailability of the LLSideTrayTab class outside of llsidetray.cpp.
Toasts were positioned as if side tray was expanded.
The fix is to reshape the so-called toasts screen channel (an area where toasts are drawn)
on entering/leaving mouse-look mode, so that the screen channel can notice that side tray get in/visible.
- Before docking the tab back to the sidetray, set floater's children to non-transparent state
- After detaching tab from the sidetray there is no need to set manually floater's children transparency. It happens automatically when floater gets focus.
The floater on minimization behaved the way consistent with Appearance panel in sidetray on visibility change.
- To let LLSidepanelAppearance::updateToVisibility() determine whether to reset state or not, "reset_accordion" field was added to LLSD that it passed to it. It's value is
different depending on where updateToVisibility() was called from. "visible" field was added to store boolean value that was passed before fix without name, but now can't be used that way.
- Added signal to LLFloater that is emitted on minimize.
- Set minimize callback for appearance tab floater in LLSideTrayTab::undock. Method from LLSidePanelAppearance that handles camera issues
is called on minimization of floater.
The settings are now stored to settings_per_account.xml.
This change affects all floaters having save_rect/save_visibility/save_dock_state params set to "true",
not just detached sidebar tabs as the ticket requests.
I couldn't repro situation when select was disabled, but problem with wrong items reproduced for me all the time.
It happened because all detached tab floaters were getting name "floater", so couldn't be found by sidetray's getPanel(),
and even if inventory could be found is_inventorysp_active() in LLInventoryPanel::getActiveInventoryPanel() would not let us
reach point of getting it.
- Added setting name of floater to sidebar tab's name on it's detach.
- Added search of detached inventory tab to LLInventoryPanel::getActiveInventoryPanel() and if it is detached, inventory panel
is found there, and z-order of floater is stored and later compared with z-orders of "inventory" floaters(the ones that are opened
via Ctrl+Shift+I).
It is now possible to detach some sidebar tabs, exit the viewer, login again and see those tabs still detached.
Also fixed incorrect saving of tabs dimensions implemented in the previous commit (766d6e749836).
Reviewed by Sergey Litovchuk