Commit Graph

176 Commits (230d22ceb2ccc9e82aec0a37f1647636fb5ee310)

Author SHA1 Message Date
Richard Linden 7a1d7d15b9 STORM-823 FIX Tab Key not working properly
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
2011-01-11 16:56:05 -08:00
Andrew Productengine 2b44c8919f STORM-823 FIXED Fixed Tab Key not working properly in floaters.
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.
2010-12-30 20:18:00 +02:00
Vadim ProductEngine 2b70e8e001 STORM-733 FIXED Build Tools floater now has inactive floater transparency when opened (because it's not focused by default). 2010-12-07 13:45:29 +02:00
Vadim ProductEngine 81313cb304 STORM-732 FIXED Voice Morphing floater was opaque on first open. 2010-12-07 12:06:35 +02:00
Vadim ProductEngine 3c4cf5a309 STORM-677 ADDITIONAL_FIX Force textures inside texture picker to be 100% opaque while the control is in a focused floater.
Besides, made LLFloater handle opacity more like other controls do.
2010-12-01 15:46:57 +02:00
Paul Guslisty 2f0919b175 STORM-688 FIXED Sidebar becomes semitransparent if dock semitransparent side 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.
2010-11-29 16:48:58 +02:00
Paul Guslisty e997a09343 STORM-593 FIXED Make transparent texteditor and lineeditor
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
2010-11-24 19:12:02 +02:00
Paul Guslisty 00bd5906a6 STORM-535 FIXED PLEASE allow adjustable transparency of "Nearby Chat" 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.
2010-11-09 18:54:00 +02:00
Merov Linden a8fbfa40ba pull viewer-beta into viewer-development 2010-10-11 18:30:22 -07:00
Andrew Productengine 33bfe43b0c STORM-301 FIXED Fixed behaviour of camera on undocked 'My Appearance' tab 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.
2010-10-11 19:32:42 +03:00
Vadim Savchuk 022f9bd9a8 STORM-192 ADDITIONAL FIX Fixed crash on pressing Ctrl+Shift+W (which closes 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.
2010-09-20 19:08:45 +03:00
Vadim Savchuk baeded61a7 STORM-101 FIXED Moved floater settings (rect, visibility, docked state) to 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.
2010-09-13 20:06:48 +03:00
Tofu Linden 31c6ad3d60 CID-508
Checker: UNINIT_CTOR
Function: LLFloaterView::LLFloaterView(const LLFloaterView::Params &)
File: /indra/llui/llfloater.cpp
2010-09-09 12:28:43 +01:00
Vadim Savchuk 785de381de VWR-21127 FIXED Implemented restoring sidebar tabs that were detached in 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
2010-09-03 00:32:26 +03:00
Vadim Savchuk 4020b91ec6 VWR-21127 WIP Implemented saving position and dimensions of detached sidebar tabs.
Reviewed by Sergey Litovchuk.
2010-09-01 21:11:25 +03:00
Richard Linden abe758d45f merge 2010-09-22 19:11:29 -07:00
Richard Linden 1911993cc7 merge 2010-09-16 19:45:57 -07:00
Monroe Linden b62b10dd26 Post-convert merge by convert_monolith.py from ./viewer-experience 2010-08-27 16:58:33 -07:00
Tofu Linden e416840f85 Backed out changeset c3d41f18ce2b
back-out the back-out for this branch.  yay.
2010-08-24 19:22:00 +01:00
Tofu Linden 98cc236503 Backed out changeset a62bf7c0af21
Backing out this merge that I pushed (prematurely) to the wrong place.
2010-08-24 18:44:39 +01:00
Tofu Linden 6ba23344c9 merge heads. whew. 2010-08-24 18:37:53 +01:00
Richard Nelson 65c9914d23 made Params parsers not act as singletons 2010-08-23 11:03:19 -07:00
Richard Nelson 02d8197019 changed buildPanel/buildFloater to member functions buildFromFile
streamlined LLUICtrlFactory's interface
2010-08-20 10:14:28 -07:00
Richard Nelson 124bc854dd moved buildFloater out of lluictrlfactory to llfloater.cpp 2010-08-16 17:44:23 -07:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Paul Guslisty 7312471e7f EXT-7951 FIXED (Mini-Location panel appearance design issues)
- 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
2010-08-12 13:19:23 +03:00
Mike Antipov d3d39b98aa EXT-8458 FIXED ensure that static pointer to instance of 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
2010-07-20 15:17:46 +03:00
Richard Linden 7a54ce3cf6 EXT-7729 WIP LLWARNS: Tons of "Making dummy class..." warnings on startup
reviewed by Leyla
2010-06-22 13:42:55 -07:00
Richard Nelson e97cef4de9 EXT-7664 FIX Titles of all floaters are shifted down 2010-06-14 15:38:02 -07:00
Richard Nelson a1f21c968e EXT-7700 - Script error window shows [All Scripts] for every tab
reviewed by Mani
2010-06-07 16:49:06 -07:00
Richard Linden 71fe767d9a EXT-7590 FIX Modal alerts obscure any modal alerts that they spawn
the toast logic to set visibility on dialogs in reverse order was bringing older modal dialogs to the front
2010-06-01 18:28:46 -07:00
Richard Linden 2646eb8166 EXT-7557 - About Second Life > Credits does not open with scrollbar all the way at the top
also made floaters not update title label every time they are resized
2010-05-29 13:31:37 -07:00
Richard Linden 5921f2c14b EXT-7398 FIXED negative top/bottom coordinates do the wrong thing with topleft layout
reviewed by Leyla
2010-05-18 16:26:18 -07:00
Tofu Linden d071cff43f PE merge from PE's viewer-trunk 2010-04-13 10:19:05 +01:00
Tofu Linden 9fbe736774 (slightly hairy) merge from viewer-hotfix 2010-04-12 11:03:16 +01:00
Dmitry Zaporozhan ea45bc05d4 EXT-6733(normal) - Long title of voice popup notification is displayed out of window.
Fixed code calculating title buttons rectangle, LLRect::isValid() does not indicate uninitialized rectangle, as a result rectangle was not properly initialized and had negative width.
Fixed title width.

Reviewed by Mike Antipov - https://codereview.productengine.com/secondlife/r/194/

--HG--
branch : product-engine
2010-04-08 12:23:22 +03:00
Richard Linden 70bbcf7c2d EXT-5849 - crash in LLView::drawChildren()
added logging to help track down cause
2010-04-08 16:41:56 -07:00
Dmitry Zaporozhan 9ff6b6ecd1 Fixed low bug EXT-6444 - Long notecard titles continue under Locked and Help icons on title bar.
Changed the way floater title is reshaped. Calculations takes title buttons into account instead of using hardcoded values.

--HG--
branch : product-engine
2010-03-25 15:48:08 +02:00
Vadim Savchuk d3a606f832 Manual merge from default branch.
Resolved conflicts in llpanellandmarks.cpp.

--HG--
branch : product-engine
2010-03-24 18:04:26 +02:00
Tofu Linden e7d9999359 Merge from viewer-2-0 2010-03-23 14:08:11 +00:00
Paul Guslisty eb119c2268 Fixed low bug EXT-4081 (Lag Meter: Ctrl+W does not close floater)
- Set 'Close' text of tooltip instead of 'Close (Ctrl+W)' for close button of chrome floaters

Reviewed by Mike Antipov

--HG--
branch : product-engine
2010-03-23 14:09:38 +02:00
angela 3298ab474e fix line ending in file llfloater.cpp 2010-03-11 17:35:46 +08:00
angela fe8304ff49 merge 2010-03-11 14:10:37 +08:00
Richard Nelson 1e5fe95b1d EXT-6295 - Cannot log in with new account, TOS dialog does not load
reviewed by Mani
2010-03-10 18:20:18 -08:00
angela 0fe35e068f EXT-4684 Beacons are not shown when beacons floater is minimized 2010-03-09 15:59:27 +08:00
Richard Linden 931ff555bd merge 2010-03-05 14:46:00 -08:00
Richard Linden 69f9c0bcf9 WIP - replace top ctrl with LLPopupView 2010-03-03 19:37:41 -08:00
Ychebotarev ProductEngine cdb0911a78 fix for EXT-4469 Fast Timers: Minimize and Close icons do not work
--HG--
branch : product-engine
2010-03-03 11:39:45 +02:00
Richard Nelson 41a30a59fb initial work changing topctrl to popup layer 2010-03-02 14:21:58 -08:00
Mike Antipov 3fb3b9cf21 Merge from default branch
--HG--
branch : product-engine
2010-02-19 11:12:38 +02:00