Commit Graph

58 Commits (ce5baf14ac62ecd3bf471e1b49a4e166310ebe1a)

Author SHA1 Message Date
Mnikolenko ProductEngine 186113144e MAINT-2894 FIXED Handle mouse events for popup menus in modal dialogs. 2013-09-11 14:17:56 +03:00
simon ee2fce8790 Merge downstream code and viewer-beta 2013-05-09 14:10:45 -07:00
simon 7cb2f4f358 Remove an un-needed LL_CHECK_MEMORY check 2013-04-24 16:02:12 -07:00
simon cc3361352d Follow-up code cleaning for LLToast work trying to get branch healthy.
Reviewed by Kelly
2013-04-24 15:34:18 -07:00
simon 87ba85eaab diff -r 59c7bed66dfd indra/llcommon/lleventapi.h 2013-04-24 09:35:38 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Graham Madarasz (Graham) 93eaccae6f Modify LLInstanceTracker to avoid using a map of strings to find a map of foo to find some pointers 2013-02-28 15:35:14 -08:00
Nat Goodspeed 3653727e7f Introduce new LLDir::findSkinnedFilenames() method. Use as needed.
In a number of different places, for different reasons, the viewer wants to
load a UI-related file that might be overridden by a non-default skin; and
within that skin, might further be overridden by a non-default language.
Apparently, for each of those use cases, every individual developer approached
it as an entirely new problem, solving it idiosyncratically for that one case.
Not only is this a maintenance problem, but it rubs one's nose in the fact
that most such solutions consider only a subset of the relevant skin
directories.
Richard and I evolved an API intended to address all such cases: a central
LLDir method returning a list of relevant pathnames, from most general to most
localized, filtered to present only existing files; plus a couple of
convenience methods to specifically obtain the most general and most localized
available file.
There were several load-skinned-file methods (LLFloater::buildFromFile(),
LLPanel::buildFromFile() and LLUICtrlFactory::createFromFile() -- apparently
cloned-and-modified from each other) that contained funky bolted-on logic to
output the loaded data to an optional passed LLXMLNodePtr param. The trouble
is that passing that param forced each of these methods to subvert its normal
search: specifically for that case, it needed to find the baseline XML file
instead of the localized one. Richard agreed that for the intended usage
(reformatting XML files) we should use XML schema instead, and that the hacky
functionality should be removed. Remove it. Also remove
LLUICtrlFactory::getLocalizedXMLNode(), only used for those three special cases.
Some callers explicitly passed the optional LLXMLNodePtr param as NULL. Remove
that.
Remove LLFloaterUIPreview::displayFloater(save) param, which relied on the
optional output LLXMLNodePtr param. Make onClickSaveFloater() and
onClickSaveAll() emit popupAndPrintWarning() about discontinued functionality.
Recast LLFloater::buildFromFile(), LLPanel::buildFromFile(),
LLUICtrlFactory::createFromFile(), LLNotifications::loadTemplates(),
LLUI::locateSkin(), LLFontRegistry::parseFontInfo(),
LLUIColorTable::loadFromSettings(), LLUICtrlFactory::loadWidgetTemplate(),
LLUICtrlFactory::getLayeredXMLNode(), LLUIImageList::initFromFile(),
LLAppViewer::launchUpdater() and LLMediaCtrl::navigateToLocalPage() to use
findSkinnedFilenames(). (Is LLAppViewer::launchUpdater() ever called any more?
Apparently so -- though the linux-updater.bin logic to process the relevant
command-line switch has been disabled. Shrug.) (Is
LLMediaCtrl::navigateToLocalPage() ever used?? If so, why?)
Remove LLUI::setupPaths(), getXUIPaths(), getSkinPath() and
getLocalizedSkinPath(). Remove the skins/paths.xml file read by setupPaths().
The only configuration it contained was the pair of partial paths "xui/en" and
"xui/[LANGUAGE]" -- hardly likely to change. getSkinPath() specifically
returned the first of these, while getLocalizedSkinPath() specifically
returned the second. This knowledge is now embedded in findSkinnedFilenames().
Also remove paths.xml from viewer_manifest.py.
Remove injected xui_paths from LLFontGL::initClass() and
LLFontRegistry::LLFontRegistry(). These are no longer needed since
LLFontRegistry can now directly consult LLDir for its path search. Stop
passing LLUI::getXUIPaths() to LLFontGL::initClass() in LLViewerWindow's
constructor and initFonts() method.
Add LLDir::append() and add() methods for the simple task of combining two
path components separated by getDirDelimiter() -- but only if they're both
non-empty. Amazing how often that logic is replicated. Replace some existing
concatenations with add() or append().
New LLDir::findSkinnedFilenames() method must know current language. Allow
injecting current language by adding an LLDir::setSkinFolder(language) param,
and pass it where LLAppViewer::init() and initConfiguration() currently call
setSkinFolder(). Also add LLDir::getSkinFolder() and getLanguage() methods.
Change LLFLoaterUIPreview's LLLocalizationResetForcer helper to "forcibly
reset language" using LLDir::setSkinFolder() instead of LLUI::setupPaths().
Update LLDir stubs in lldir_stub.cpp and llupdaterservice_test.cpp.
Add LLDir::getUserDefaultSkinDir() to obtain often-overlooked possible skin
directory -- like getUserSkinDir() but with "default" in place of the current
skin name as the last path component. (However, we hope findSkinnedFilenames()
obviates most explicit use of such individual skin directory pathnames.)
Add LLDir unit tests for new findSkinnedFilenames() and add() methods -- the
latter exercises append() as well.
Tweak indra/integration_tests/llui_libtest/llui_libtest.cpp for all the above.
Notably, comment out its export_test_floaters() function, since the essential
LLFloater::buildFromFile(optional LLXMLNodePtr) functionality has been
removed. This may mean that llui_libtest.cpp has little remaining value, not
sure.
2012-10-10 14:57:43 -04:00
Richard Linden 51a8134f62 EXP-1885 FIX Viewer crashes when receiving multiple inventory offer notifications 2012-02-10 20:09:48 -08:00
Seth ProductEngine 7314ac3a37 EXP-1672 FIXED Various fixes to prevent crashes in notifications.
- Refactoring of LLToast and LLScreenChannel classes: moved LLToast signals to the private section.
- Modified the screen channel's lists of toasts to store LLHandles instead of pointers and screen channel code to work with toast LLHandles.
2012-02-01 23:44:25 +02:00
Richard Linden cf02780ddf EXP-1513 WIP Underscore ( _ ) fails to show in first chat entry in Local Chat
cleaned up font positioning on buttons
2012-01-27 17:48:08 -08:00
Leslie Linden 16b6a47247 EXP-1742 FIX -- Clicking IM notification or receiving multiple IM notifications in quick succession crashes to desktop
* Moved toast logic for mouse hover out of the draw call to avoid chain of callbacks that lead to reordering of the draw list while we are iterating over it.
2011-12-16 15:07:04 -08:00
Seth ProductEngine 7197446111 EXP-1506 FIXED updating IM toasts visibility upoon mouse over and mouse leave events.
The mouse position is checked every frame in relation to the toast to catch the mouse leaving the toast "i" button when the toast is moved by the screen channel.

The fix is intended to avoid the toasts that don't fade in the following scenario:
1. Have User A Send 4 IM messages to User B: a, b, c, d
2. Have User B hover their mouse over the i on toast c (don't click on it just hover)
3. As the other toasts fade observe toast c moves up to the top and does not fade
2011-12-03 01:19:50 +02:00
Seth ProductEngine d3773b991a EXP-1506 FIXED starting the toast fade timer when a toast is overlapped by other floater like avatar inspector.
This is a kind of a workaround: perhaps the logic of updating the toast fade timer should be refactored to start/stop the timer from onMouseLeave/onMouseEnter callbacks instead of using "IsHovered" flag for each toast.
2011-11-22 19:36:00 +02:00
Richard Linden 27d25e7ae1 SOCIAL-659 FIX Viewer crash when selecting report option from mini-inspector in minimal and standard skin 2011-03-09 18:20:08 -08:00
Vadim ProductEngine 0308dbeda7 STORM-774 FIXED Made notification toasts (e.g. IM toasts) respect transparency settings:
* Normally toasts are as opaque as specified by "inactive floater opacity" setting.
* When mouse is hovering a toast, the toast uses "active floater opacity" setting.
* Fading toasts have 1/2 of "inactive floater opacity".
2010-12-09 17:30:31 +02:00
Vadim ProductEngine c78db88d06 STORM-774 WIP Misc renames to improve readability. 2010-12-09 17:30:31 +02:00
Vadim ProductEngine d0ec374e15 STORM-717 WIP Cleanup: removed unused on_mouse_enter callback from LLToast. 2010-12-04 12:15:47 +02:00
Paul Guslisty b2a6f4853b STORM-36 FIXED As a User, I want to control how long a chat toast appears before it fades. Please add fade time back to Chat preferences.
- Added two spinners to the Chat preferences tab that control NearbyToastLifeTime and NearbyToastFadingTime
- Added callbacks to the LLNearbyChatScreenChannel that update these properties if they were changed

Refactoring of LLToast:
- Removed code that was making toast transparent from LLToast::draw()
- Modified LLToast interface that relates to showing and hiding toast, so that all screen channels can use LLToast universally.
- Replaced in LLScreenChannel calling methods of old interface to new ones.
2010-10-26 18:15:30 +03:00
Vadim ProductEngine a8b5da9a70 STORM-211 FIXED Only the hovered toasts now persists until you move mouse away (all toasts used to freeze). 2010-10-14 18:01:51 +03:00
Monroe Linden b62b10dd26 Post-convert merge by convert_monolith.py from ./viewer-experience 2010-08-27 16:58:33 -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
Alexei Arabadji 0e937f5f48 EXT-8044 FIXED Prevented incorrect displaying of toasts in mouselook mode.
Added virtual method LLToast::reshape to prevent calling LLModalDialog::reshape method that changes toasts position. Toasts position should be controlled by toast screen channel. Ideally toasts should have different implementation for alerts and other kind of toasts, but it will leads to vast unwilling for 2.1 changes.

reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/666/

--HG--
branch : product-engine
2010-06-30 18:32:11 +03: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
Alexei Arabadji 40df6a5c86 fixed EXT-6805 No fading on toast's disappearing
Reverted toast fading logic.

reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/292/

--HG--
branch : product-engine
2010-04-22 10:54:13 +03:00
Alexei Arabadji d57e8ecc7e fixed EXT-6848 Avoid creation of dummy objects in LLOnlineStatusToast and LLPanelGenericTip classes.
* decoupled tip toast panel related logic from class LLTast;
* moved documentation comment of  LLPanelGenericTip constructor from .cpp to .h file;
* corrected name attribute in panel_generic_tip.xml;

reviewed by Mike Antipov and Vadim Savchuk at https://codereview.productengine.com/secondlife/r/230/

--HG--
branch : product-engine
2010-04-19 17:21:16 +03:00
Yuri Chebotarev bdb437e3b0 fix for Bug EXT-6713 Normal Gaps in nearby chat toasts queue
and EXT-6714   	 Normal   	 Old chat toast is shown while chat log is open
reviwed https://codereview.productengine.com/secondlife/r/212/ manttipov

--HG--
branch : product-engine
2010-04-12 14:21:34 +03:00
Alexei Arabadji 53c96ec24b EXT-2801 Record "object return" notification into IM history, not chat history,
replaced toast timer LLTimer with LLEventTimer implementation that not depends on draw method;

reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/148/

--HG--
branch : product-engine
2010-04-01 17:48:07 +03:00
Dmitry Zaporozhan 4b161b8839 Fixed low bug EXT-4246 - Close button on notification toast is larger than host spot.
Close button is partially positioned out of toast(floater). Usually, hovering or clicking
that "outer" part of the button can not be handled. The workaround is to position the button
on the floater and make the floater background invisible. Now close button is properly handled,
but toast is transparent. To fix this i added wrapper_panel that looks and behaves like a floater.

--HG--
branch : product-engine
2010-02-17 16:00:28 +02:00
Alexei Arabadji 607dbf60f5 fixed EXT-3374 “[BSI] Notifications and dialogs are semi-transparent (not
opaque) even when in focus”,
made toast opaque when became hovered;

--HG--
branch : product-engine
2010-01-04 17:12:23 +02:00
Eugene Mutavchi f694d2fea2 Fixed normal bug EXT-3374([BSI] Notifications and dialogs are semi-transparent (not opaque) even when in focus)
--HG--
branch : product-engine
2009-12-28 13:51:29 +02:00
Dmitry Oleshko dfd1d698ea fixed low bug (EXT-3293) overflow toast can be dragged
--HG--
branch : product-engine
2009-12-14 12:36:10 +02:00
Andrew Polunin dcb786b5a4 implemented normal task EXT-3086 Update non-interactive system toasts behavior
--HG--
branch : product-engine
2009-12-08 16:28:47 +02:00
Igor Borovkov 0a88e412cc tast EXT-3096 (Notification toasts mouse hovering behavior), fade behavior is now being reset for all toasts on hovering
--HG--
branch : product-engine
2009-12-07 19:09:25 +02:00
James Cook 957055396d merge in changes from viewer-2-0, manually fixed conflict in llviewermessages.cpp 2009-11-25 12:31:24 -08:00
James Cook 0e351bedb6 Removed llnotifications.h from all headers by adding llnotificationsptr.h
Fixed many more includes
2009-11-24 22:55:56 -08:00
Dmitry Oleshko 06f638abdf fixed normal bug (EXT-2653) Undocked IM floater blinks each time notification toasts fade away
- reduced a number of show-hide cycles for toasts
- only toasts showed for the first time will appear in foreground now (using of mFirstLook from LLFloater)

--HG--
branch : product-engine
2009-11-24 11:44:55 +02:00
Alexei Arabadji 508097d0f6 fixed EXT-2500 "Avatar stops moving when online/offline notification toast
popups"

--HG--
branch : product-engine
2009-11-16 14:11:50 +02:00
Alexei Arabadji e7519e8a97 fixed EXT-2402 "Clicking on notification item in the Message Well should bring
it to front"
made LLToast and LLDockableFloater goes foreground on setVisible(TRUE);

--HG--
branch : product-engine
2009-11-16 11:41:21 +02:00
Dmitry Oleshko f4424f8867 fixed normal bug (EXT-1971) Add fade time period for nearby chat bubbles
--HG--
branch : product-engine
2009-10-30 13:24:49 +02:00
Dmitry Oleshko f71f8ecdf9 additional comments for the major bug (EXT-1849) Crash in Notification subsystem while teleporting and having toasts shown
--HG--
branch : product-engine
2009-10-28 12:08:49 +02:00
Dmitry Oleshko 0ac752cd4b fixed major bug (EXT-1849) Crash in Notification subsystem while teleporting and having toasts shown
--HG--
branch : product-engine
2009-10-27 18:48:47 +02:00
Richard Nelson 5cb2371781 converted LLToast::Params to be a param block
reviewed by James
2009-10-21 21:53:06 +00:00
Steven Bennetts 6f41747bc4 Merging revisions 2112-2128 of https://svn.aws.productengine.com/secondlife/pe/stable-2 into P:\svn\viewer-2.0.0, respecting ancestry
* Bugs: EXT-1605 EXT-1506 EXT-1663 EXT-1616 EXT-1599 EXT-1587
* Dev: EXT-748 EXT-1447
* IM Cleanup
2009-10-21 04:58:23 +00:00
Steven Bennetts 1713a3552b merge -r 1879-1884 https://svn.aws.productengine.com/secondlife/pe/stable-2
* Major Bugs: EXT-1248 EXT-1127 EXT-844 EXT-1160
* Changes: EXT-1139 (places context menu)
2009-10-01 17:52:30 +00:00
Steven Bennetts f05df68656 merge https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1868 https://svn.aws.productengine.com/secondlife/pe/stable-2@1876 -> viewer-2.0.0-3
* Bugs: EXT-1111 EXT-915 EXT-1131 EXT-1200 EXT-1202 EXT-1201 EXT-1205 EXT-1212 EXT-1173 EXT-1229 EXT-1218 EXT-1164 EXT-996 EXT-821 EXT-1030 EXT-1031 EXT-816
* Major Bugs: EXT-1142 (timeout during login due to processing group IMs)
* Changes: EXT-1216 (minimize message well)
2009-10-01 17:44:44 +00:00
Steven Bennetts 606b381c9f merge https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1830 https://svn.aws.productengine.com/secondlife/pe/stable-2@1839 -> viewer-2.0.0-3
JIRAS:
EXT-96 EXT-204 EXT-312 EXT-334 EXT-479 EXT-498 EXT-514 EXT-637 EXT-647 EXT-746 EXT-748 EXT-749 EXT-757 EXT-789 EXT-794 EXT-808 EXT-817 EXT-823 EXT-831 EXT-834 EXT-837 EXT-844 EXT-848 EXT-862 EXT-876 EXT-896 EXT-897 EXT-898 EXT-899 EXT-910 EXT-912 EXT-918 EXT-921 EXT-925 EXT-926 EXT-928 EXT-930 EXT-931 EXT-935 EXT-938 EXT-939 EXT-952 EXT-985 EXT-986 EXT-992 EXT-994 EXT-995 EXT-996 EXT-997 EXT-998 EXT-1001 EXT-1004 EXT-1010 EXT-1012 EXT-1016 EXT-1018 EXT-1020 EXT-1028 EXT-1041 EXT-1044 EXT-1051 EXT-1052 EXT-1061 EXT-1069 EXT-1071 EXT-1074 EXT-1075 EXT-1076 EXT-1078 EXT-1080 EXT-1081 EXT-1082 EXT-1083 EXT-1085 EXT-1092 EXT-1093 EXT-1099 EXT-1100 EXT-1101 EXT-1104 EXT-1106 EXT-1111 EXT-1113 EXT-1114 EXT-1115 EXT-1116 EXT-1118 EXT-1119 EXT-1129 EXT-1132 EXT-1135 EXT-1138 EXT-1142 EXT-1161 EXT-1162 EXT-1178 EXT-1180

* NEW DEVELOPMENT:
* EXT-898 - Add dock/undock support for camera and movement controls
* Avatar list changes
* Bottom bar changes: menu, docking, visibility
* Camera changes
* Camera & Movement Floaters
* Dockable Floaters (LLDockableFloater)
* Removed LLListCtrl
* Toast / Notification changes: signal / destruction changes, ordering
* Nearby chat input should display active voice indicator

QA NOTES:
* Message Well Window  is ready to be tested for regression & matching the spec.
* Verify Group List Item L&F
* Verify All tabs in People Panel
* Verify that Picks behavior is not changed
2009-09-29 19:37:05 +00:00
Steven Bennetts ccb1d2b1e4 merge -r 1609-1612 https://svn.aws.productengine.com/secondlife/pe/stable-2 -> viewer-2.0.0-3
Fixes: EXT-825 EXT-893 EXT-889 EXT-88
2009-09-10 03:12:12 +00:00