summaryrefslogtreecommitdiff
path: root/indra/newview/lltoast.cpp
AgeCommit message (Collapse)Author
2012-10-10Introduce new LLDir::findSkinnedFilenames() method. Use as needed.Nat Goodspeed
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-02-10EXP-1885 FIX Viewer crashes when receiving multiple inventory offer ↵Richard Linden
notifications
2012-02-01EXP-1672 FIXED Various fixes to prevent crashes in notifications.Seth ProductEngine
- 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-01-27EXP-1513 WIP Underscore ( _ ) fails to show in first chat entry in Local ChatRichard Linden
cleaned up font positioning on buttons
2011-12-16EXP-1742 FIX -- Clicking IM notification or receiving multiple IM ↵Leslie Linden
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-03EXP-1506 FIXED updating IM toasts visibility upoon mouse over and mouse ↵Seth ProductEngine
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-11-22EXP-1506 FIXED starting the toast fade timer when a toast is overlapped by ↵Seth ProductEngine
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-03-09SOCIAL-659 FIX Viewer crash when selecting report option from mini-inspector ↵Richard Linden
in minimal and standard skin
2010-12-09STORM-774 FIXED Made notification toasts (e.g. IM toasts) respect ↵Vadim ProductEngine
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-09STORM-774 WIP Misc renames to improve readability.Vadim ProductEngine
2010-12-04STORM-717 WIP Cleanup: removed unused on_mouse_enter callback from LLToast.Vadim ProductEngine
2010-10-26STORM-36 FIXED As a User, I want to control how long a chat toast appears ↵Paul Guslisty
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-14STORM-211 FIXED Only the hovered toasts now persists until you move mouse ↵Vadim ProductEngine
away (all toasts used to freeze).
2010-08-27Post-convert merge by convert_monolith.py from ./viewer-experienceMonroe Linden
2010-08-20changed buildPanel/buildFloater to member functions buildFromFileRichard Nelson
streamlined LLUICtrlFactory's interface
2010-08-16moved buildFloater out of lluictrlfactory to llfloater.cppRichard Nelson
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-06-30EXT-8044 FIXED Prevented incorrect displaying of toasts in mouselook mode.Alexei Arabadji
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-01EXT-7590 FIX Modal alerts obscure any modal alerts that they spawnRichard Linden
the toast logic to set visibility on dialogs in reverse order was bringing older modal dialogs to the front
2010-04-22fixed EXT-6805 No fading on toast's disappearingAlexei Arabadji
Reverted toast fading logic. reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/292/ --HG-- branch : product-engine
2010-04-19fixed EXT-6848 Avoid creation of dummy objects in LLOnlineStatusToast and ↵Alexei Arabadji
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-12fix for Bug EXT-6713 Normal Gaps in nearby chat toasts queueYuri Chebotarev
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-01EXT-2801 Record "object return" notification into IM history, not chat history,Alexei Arabadji
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-02-17Fixed low bug EXT-4246 - Close button on notification toast is larger than ↵Dmitry Zaporozhan
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-01-04fixed EXT-3374 “[BSI] Notifications and dialogs are semi-transparent (notAlexei Arabadji
opaque) even when in focus”, made toast opaque when became hovered; --HG-- branch : product-engine
2009-12-28Fixed normal bug EXT-3374([BSI] Notifications and dialogs are ↵Eugene Mutavchi
semi-transparent (not opaque) even when in focus) --HG-- branch : product-engine
2009-12-14fixed low bug (EXT-3293) overflow toast can be draggedDmitry Oleshko
--HG-- branch : product-engine
2009-12-08implemented normal task EXT-3086 Update non-interactive system toasts behaviorAndrew Polunin
--HG-- branch : product-engine
2009-12-07tast EXT-3096 (Notification toasts mouse hovering behavior), fade behavior ↵Igor Borovkov
is now being reset for all toasts on hovering --HG-- branch : product-engine
2009-11-25merge in changes from viewer-2-0, manually fixed conflict in ↵James Cook
llviewermessages.cpp
2009-11-24Removed llnotifications.h from all headers by adding llnotificationsptr.hJames Cook
Fixed many more includes
2009-11-24fixed normal bug (EXT-2653) Undocked IM floater blinks each time ↵Dmitry Oleshko
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-16fixed EXT-2500 "Avatar stops moving when online/offline notification toastAlexei Arabadji
popups" --HG-- branch : product-engine
2009-11-16fixed EXT-2402 "Clicking on notification item in the Message Well should bringAlexei Arabadji
it to front" made LLToast and LLDockableFloater goes foreground on setVisible(TRUE); --HG-- branch : product-engine
2009-10-30fixed normal bug (EXT-1971) Add fade time period for nearby chat bubblesDmitry Oleshko
--HG-- branch : product-engine
2009-10-28additional comments for the major bug (EXT-1849) Crash in Notification ↵Dmitry Oleshko
subsystem while teleporting and having toasts shown --HG-- branch : product-engine
2009-10-27fixed major bug (EXT-1849) Crash in Notification subsystem while teleporting ↵Dmitry Oleshko
and having toasts shown --HG-- branch : product-engine
2009-10-21converted LLToast::Params to be a param blockRichard Nelson
reviewed by James
2009-10-21Merging revisions 2112-2128 of ↵Steven Bennetts
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-01merge -r 1879-1884 https://svn.aws.productengine.com/secondlife/pe/stable-2Steven Bennetts
* Major Bugs: EXT-1248 EXT-1127 EXT-844 EXT-1160 * Changes: EXT-1139 (places context menu)
2009-10-01merge ↵Steven Bennetts
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-09-29merge ↵Steven Bennetts
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-10merge -r 1609-1612 https://svn.aws.productengine.com/secondlife/pe/stable-2 ↵Steven Bennetts
-> viewer-2.0.0-3 Fixes: EXT-825 EXT-893 EXT-889 EXT-88
2009-08-26svn merge ↵Steven Bennetts
https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1471 https://svn.aws.productengine.com/secondlife/pe/stable-1@1476 -> viewer-2.0.0-3 EXT-65 EXT-270 EXT-359 EXT-361 EXT-367 EXT-367 EXT-368 EXT-455 EXT-468 EXT-530 EXT-539 EXT-540 EXT-542 EXT-545 EXT-555 EXT-557 EXT-558 EXT-559 EXT-559 EXT-560 EXT-561 EXT-562 EXT-563 EXT-564 EXT-566 EXT-568 EXT-569 EXT-570 EXT-571 EXT-581 EXT-590 EXT-594 EXT-596 EXT-597 EXT-601 EXT-602 EXT-603 EXT-613 EXT-620 EXT-624 EXT-628 EXT-630 EXT-631 EXT-632 EXT-639 EXT-640 EXT-641 EXT-642 EXT-662 EXT-671 EXT-672 EXT-676 EXT-682 EXT-692 EXT-703 EXT-717
2009-08-14svn merge ↵Steven Bennetts
https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1331 https://svn.aws.productengine.com/secondlife/pe/stable-1@1340 -> viewer-2.0.0-3 EXT-269 EXT-274 EXT-276 EXT-277 EXT-282 EXT-296 EXT-342 EXT-370 EXT-379 EXT-394 EXT-398 EXT-405 EXT-407 EXT-410 EXT-413 EXT-414 EXT-450 EXT-456 EXT-477 EXT-482 EXT-496
2009-08-12merge https://svn.aws.productengine.com/secondlife/export-from-ll@1277 ↵Steven Bennetts
https://svn.aws.productengine.com/secondlife/pe/stable-1@1297 -> viewer-2-0 Fixes: EXT 208 EXT 366 EXT-211 EXT-245 EXT-246 EXT-278 EXT-279 EXT-280 EXT-298 EXT-301 EXT-304 EXT-311 EXT-317 EXT-318 EXT-319 EXT-339 EXT-343 EXT-344 EXT-346 EXT-349 EXT-350 EXT-351 EXT-354 EXT-355 EXT-358 EXT-360 EXT-362 EXT-369 EXT-372 EXT-374 EXT-381 EXT-382 EXT-383 EXT-395 EXT-396 EXT-412 Other changes: Movement & Caemra controls work Profile and Me panel refactoring Notification refactoring
2009-08-04svn merge -r 128442:129343 ↵Richard Nelson
svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-18 into svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-2.0.0-3
2009-08-03merge ↵Steven Bennetts
https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1211 https://svn.aws.productengine.com/secondlife/pe/stable-1@1228 -> viewer-2.0.0-3 QA: New movement and camera controls. Test all movement and camera behavior against spec and expected behaviors, including sitting & standing. Many other changes to the bottom bar. Changes to local chat behavior.
2009-07-30merge ↵Steven Bennetts
https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0/indra@1170 https://svn.aws.productengine.com/secondlife/pe/stable-1/indra@1187 -> viewer-2.0.0-3
2009-07-27Merged skinning-17 into viewer-2 for bug fixes. Commented out new IM window ↵James Cook
for now, not complete. Merging revisions 127913-128319 of svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-17 into D:\viewer-2.0.0-3, respecting ancestry