Age | Commit message (Collapse) | Author |
|
|
|
moved "chrome" flags to xui
separated hiding floater title from setting chrome
toolbar toggle button now moves floaters to frontmost and doesn't necessarily rely on focus
|
|
added missing file and updated size of floater
|
|
|
|
|
|
open.
|
|
added mVisibleWhenMinimized to floaters
|
|
added confirmation dialog before hiding UI
|
|
restores hidden floaters now
|
|
* Floater updates for positioning and to revert some earlier string changes.
|
|
|
|
EXP-1299 Nearby Voice floater can't be closed by clicking the sidebar button again.
EXP-1306 Prompt text to "Change your avatar" and "Destinations" floaters get pushed down one line when the floater dialog gets resized to minimum width
|
|
moved floater snap region to middle of toolbars and constrained floaters to that snap region
also made toybox floater pass all drag and drop events along to toolbar
|
|
|
|
|
|
|
|
changed ordering of template loading relative to constructor setting of params
moved a lot of constructor-set params to template files
reviewed by Leslie
|
|
|
|
panel - profile panel position changes do not persist
EXP-1030 FIX Search button toggle can get out of synch in bottom bar
made llinstancetracker::iterator do own nested level management (removing need for separate guard)
added support for filename= to floaters
can pass in arbitrary window_class to floaters
|
|
|
|
undocked sidepanel.
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.
|
|
floater view snapping rectangle is now driven by floater_snap_region view
|
|
set focus root to true by default for all floaters via floater.xml template
existing calls to setIsChrome will turn off focus root for chrome floaters after initializing it from the focus_root parameter
|
|
Bug was caused by not fiding focus root in LLUICtrl::findRootMostFocusRoot() when tab was pressed in floaters. When it was not found, LLPanel::handleKeyHere() didn't move focus to the next control.
Floaters had erroneous behaviour because of focus_root xml param: though value of focus root was set with setFocusRoot() in floater's constructor , later it was overwritten in LLFloater::initFloaterXML() with value from xml again.
This problem was introduced in af49c237b0f9 - there focus root was moved to xml.
- To fix the problem, setFocusRoot() call was added after initFromParams() in LLFloater::initFloaterXML() to set proper value of focus root after overwriting it from xml.
The drawback of the fix is that focus_root param is ignored by floaters and its value is determined depending on chrome, as it did before but the only other way to fix this problem would be to set the param in xml manually for each existing floater, and do it for each new floater added to viewer.
|
|
when opened (because it's not focused by default).
|
|
|
|
opaque while the control is in a focused floater.
Besides, made LLFloater handle opacity more like other controls do.
|
|
panel back to the Sidebar
- 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.
|
|
Reason: If some child of transparent LLFloater has a visible non-transparent background then this part of floater is non-transparent. As a result floater became partially transparent.
Solution: When transparent floater changes focus, iterate through its children and set corresponding (corresponding to whether control in active or in inactive floater see STORM-535) transparency value.
- Added method LLUICtrl::getCurrentTransparency. This method calculates transparency level of a control. Calculated value should be used as an alpha chennel value in case we want this control to be transparent. For now this method is used by LLFloater to adjust transparency of its children.
- Added calculating of transparecny level for: LLLineEditor, LLTextBase, LLinventoryListItem, LLScrollContainer, LLScrollListCtrl, LLAccrodionCtrlTab.
- Added method LLFlaoter::updateChildrenTransparency which updates transparency value of its children
|
|
window, Chat History and Chat "Toasts" in Viewer 2.0!
- Added to the settings.xml values of transparency for active and inactive floaters
- Added three members to the LLFloater. These members store current transparency of floater, transparency of active and inactive floaters.
- Added callbacks that update transparency value of active and inactive floater. Also in these callbacks value of current floater transparency updated.
- In panel preferences advanced added two spinners: transparency of active floaters and inactive ones. See screenshot.
|
|
|
|
minimizing.
- 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.
|
|
all floaters).
The crash was introduced by my previous fix of this ticket in changeset 8ceebd3612f0.
The problem was that, suprisingly, even invisible (faded) toasts were destroyed when you hit Ctrl_Shift+W,
however they were still referenced by the toast pool, so the references were invalidated.
The easiest fix would be to remove all references to the toast being destroyed, no matter is it visible or not.
However, then we'd have to search for each destroyed toast in the pool, which is slow.
Besides, removing toasts from the pool compromises the whole idea of pooling (which was introduced to speed up creation of new toasts).
Another possible fix is not to destroy any nearby chat toasts when user hits Ctrl+Shift+W.
That would save us from any crashes at a price of changing existing behaviour (the toasts will remain visible).
So I went for a third option: when closing all floaters, skip invisible ones.
Then there won't be attempts to destroy invisible (pooled) toasts, so the crash won't happen,
and we don't seem to change any existing behavior.
However I'm not 100% sure of the latter statement, so the fix requires extensive testing.
|
|
account-specific XML file.
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.
|
|
Checker: UNINIT_CTOR
Function: LLFloaterView::LLFloaterView(const LLFloaterView::Params &)
File: /indra/llui/llfloater.cpp
|
|
previous session.
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
|
|
tabs.
Reviewed by Sergey Litovchuk.
|
|
|
|
|
|
|
|
back-out the back-out for this branch. yay.
|
|
Backing out this merge that I pushed (prematurely) to the wrong place.
|
|
|
|
|
|
streamlined LLUICtrlFactory's interface
|
|
|
|
|
|
- Added callback on show\hide Mini Location Panel event. This callback sets proper initial minimized position depending on state (shown or hidded) Mini Location Panel. Also callback shifts vertically already minimized floaters so that they don't overlap Mini Location Panel
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/851/
--HG--
branch : product-engine
|
|
LLPanelStandStopFlying is always valid to prevent crash.
Consequences of root cause:
Static pointer to LLPanelStandStopFlying in LLPanelStandStopFlying::getInstance() becomes invalid when the instance of the LLPanelStandStopFlying is a child of floater while it is destroying.
Next usage of that pointed cause a crash.
Root Cause:
1. LLFloater::closeFloater sets floater invisible and marks floater as "dead" but does not destroy it.
2. But that instance was still in LLFloaterReg map. It is removed in LLFloater's destructor.
3. So it was possible on low fps to get "dead" floater with LLFloaterReg, LLFloaterMove in this case.
4. Then LLMortician deleted floater instance shown on previous step.
Call of setVisible(false) from the LLFloater's destructor does not call overridden LLFloaterMove's method (which is expected behavior.)
So, child panel LLPanelStandStopFlying was not re-parented to Main View and was destroyed with LLFloaterMove.
That leaded to the "Top Reason" described above.
FIX:
1. Ensure that LLPanelStandStopFlying is not a child of LLFloaterMove on its destroying.
2. Synchronized removing of a floater instance from the LLFloaterReg when it is marked as "dead".
Note: both changes fixes this bug independently, but I included both of them into result patch to avoid similar but in the future.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/781/
--HG--
branch : product-engine
|
|
reviewed by Leyla
|