summaryrefslogtreecommitdiff
path: root/indra/llui/llfloaterreg.cpp
AgeCommit message (Collapse)Author
2013-03-08CHUI-835 (ctrl-h does not select nearby chat conversation in list): Modified ↵Gilbert Gonzales
setVisibleAndFrontMost() to now take a arguement for the key that was pressed (if one was pressed). This allows the floater to select the converation line item when becoming visible/frontmost.
2013-02-23CHUI-568 : Fixed! Implemented Ctrl-H for Nearby Chat, taking into account ↵Merov Linden
the existence of other conversations and docked/torn off state
2013-02-21CHUI-568 : WIP : Introduced Ctrl-T and Ctrl-H for conversations and nearby chatMerov Linden
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-03-16EXP-1181 FIX as a designer I would like to specify default floater positions ↵Richard Linden
using realtive coordinates changed settings naming scheme for floater positioning so that related settings appear together in file
2012-03-14CHUI-59 FIX Floater stacking offset only occurs first time a floater is openedRichard Linden
changed stacking logic to attempt to stack against any floater that is cascade head *or* in a cascade group
2012-02-27EXP-1181 FIX As a designer, I would like to specify default floater ↵Richard Linden
positions using relative coordinates store and load floater relative positions
2012-02-24EXP-1181 FIX As a designer, I would like to specify default floater ↵Richard Linden
positions using relative coordinates fixed bug where resizing window would cause stacked floaters to move relative to each other renamed positioning enums to reflect the fact that they apply all the time now, not just when opening floaters
2011-10-19EXP-1424 FIX Floaters open on top of one another in default position with no ↵Richard Nelson
offset EXP-1412 FIX Additional Inventory windows are opened directly on top of each after opening additional inventory windows and closing the first time also made sidepanel floaters reuse the existing instances, saving state
2011-10-18EXP-1409 FIX WASD controls don't move avatar while Move floater is in focusRichard Linden
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
2011-10-13cleaned up floater reg, removed extraneous functionsRichard Nelson
2011-10-12* Floater positioning now based on position of other cascading windows currentlyLeslie Linden
open.
2011-10-11* New floater positioning code. Better than what's checked in but not great.Leslie Linden
* Floater updates for positioning and to revert some earlier string changes.
2011-10-10EXP-1310 FIX Profile button should open Web Profile floaterRichard Nelson
removed unused LLWeb functions for opening non-web media moved logic inside floaters and away from auxiliary functions
2011-10-05EXP-1280 FIX -- Minimized floaters associated with toolbar buttons should ↵Leslie Linden
change the state of their parent button * Toolbar buttons now display green when its corresponding floater is open or minimized. * Made changes to buttons so flash time and rate is configurable * Removed unused "highlight_color" attribute from LLButton * Implemented "isVisible" function for toolbar button floaters. It returns true when the floater is visible or minimized. * Toolbar floater unminimize now also puts focus to the floater * All commands now specify their "is_running_function" for toolbar button state * ButtonFlashCount and ButtonFlashRate have been moved to button.xml settings and are now configurable on the button. Toolbar buttons are set to never flash and this functionality is used to show which buttons have windows open. * All toybox buttons show hover glow even when disabled Reviewed by Richard.
2011-09-30Updated FUI floater toggle function to handle closing windows that areLeslie Linden
initialized with chrome.
2011-09-29EXP-1278 FIX -- Implement 3-way toolbar button functionalityLeslie Linden
Toolbar buttons now affect their floaters as indicated in the FUI_Button_states wiki page -- https://wiki.lindenlab.com/wiki/FUI_Button_states
2011-09-21EXP-1205 PROGRESS -- As a User, I want a toybox which will contain all ↵Leslie Linden
buttons that I can d&d into the toolbars EXP-1232 FIX -- Create class to load and hold all of the command meta data associated with FUI toolbar actions * Added basic commands.xml file to define FUI-related toolbar actions. For now a basic "avatar" and "places" button are defined. * Added basic command manager to parse and hold strings that define potential toolbar command actions. * Broke out a separate floater function as a placeholder for the 3-state toolbar floater toggling. * LLUI::initClass now parses the new commands.xml file Reviewed by Richard.
2011-07-28EXP-1054 FIX Entering search term in search box in Viewer UI does not ↵Richard Linden
produce search results if search window is already open use new parameters when opening existing floater
2011-07-26EXP-1021 FIX Position of web content browser dictates position of profile ↵Richard Nelson
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
2011-07-13EXP-1009 WIP Teleport links from Search floater and destination guide in ↵Richard Linden
viewer fail with intrusted browser error in viewer
2010-09-16mergeRichard Linden
2010-09-13STORM-101 FIXED Moved floater settings (rect, visibility, docked state) to ↵Vadim Savchuk
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-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-05-27EXT-7090 FIXED Made snapshot preview and minimap(like in 1.23) floaters ↵Alexei Arabadji
showable in mouselook mode. reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/449/ --HG-- branch : product-engine
2010-03-09EXT-4684 Beacons are not shown when beacons floater is minimizedangela
2010-02-02fix for normal EXT-4810 Block hot-keys in mouse-look modeYchebotarev ProductEngine
--HG-- branch : product-engine
2009-11-11Add LLEventAPI class, formalizing the mechanism by which we wrap a C++ APINat Goodspeed
with an event API. In addition to the LLEventPump name on which to listen, LLEventAPI accepts a documentation string for event API introspection. Give every LLEventDispatcher::add() overload a new documentation string parameter for event API introspection. Convert every existing event API to new conventions, introducing suitable documentation strings for the API and each of its operations.
2009-11-05fix for major bug ext-2209 Nearby Chat log is brokenYuri Chebotarev
--HG-- branch : product-engine
2009-11-03fix for normal task EXT-239 Save chat window state and position between sessionsYuri Chebotarev
--HG-- branch : product-engine
2009-11-02Merge from default branchVadim Savchuk
--HG-- branch : product-engine
2009-11-02fix Normal Task EXT-239 Save chat window state and position between sessionsYuri Chebotarev
--HG-- branch : product-engine
2009-10-30Fix crash in LLMultiFloater::setCanResize()Rick Pasetto
Reviewed (conceptually) by Richard and James
2009-10-30fix task EXT-1960 Region messages, should they be displayed in the local chat?Yuri Chebotarev
and working on EXT-239 Save chat window state and position between sessions (not finished) --HG-- branch : product-engine
2009-10-17Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/Nat Goodspeed
2009-10-17New LLFloater methods capture LLFloaterReg visibility tests.Nat Goodspeed
The logic was redundantly expressed in LLFloaterReg -- and would be useful elsewhere -- so was introduced as LLFloater::isShown(). Thanks to Richard and James for suggesting the terminology.
2009-10-16merge from latest svn/viewer-2-0 to hg/viewer-2-0Mark Palange (Mani)
2009-10-08Fixed a problem where floaters that failed to load their XML would still be ↵Steven Bennetts
opened. This was particularly a problem with Modal Dialogs since the UI would loose focus with no floater to respond to. Reviewed by Leyla
2009-08-14Wrap a subset of the LLFloaterReg API with an event APINat Goodspeed
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-07-10EXT-70 Camera and Movement controls don't save their positionsSteven Bennetts
DEV-35250 Quitting from the login screen forgets window placement and visibility (e.g. movement and camera floaters) reviewed by Leyla
2009-06-21merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3Steven Bennetts
ignore-dead-branch