summaryrefslogtreecommitdiff
path: root/indra/llui/llui.cpp
AgeCommit message (Collapse)Author
2012-11-28SH-3563. Pull and merge from viewer-development. Modest code changes to fix ↵prep
alignment issue in llAppearance.
2012-09-08Removed most llappearance -> llui dependencies (LLTrans remains). Moved ↵Don Kjer
LLInventoryIcon::EIconName into LLInventoryType. Moved LLInventoryIcon back to newview. Moved LLUI gl_* functions into llrender.
2012-10-12Fix LLUI::locateSkin() failure case; clarify lldir.cpp static init.Nat Goodspeed
Per code review: Previous refactoring of LLUI::locateSkin() preserved odd failure behavior: it would return last-considered pathname, whether or not it exists. Changed to emit LL_WARNS log message and return empty string. Use Boost.Assign to simplify initialization of a couple static containers in lldir.cpp.
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-04-26Automated merge with http://hg.secondlife.com/viewer-releaseNat Goodspeed
2012-04-13MAINT-939 Potential fix for crash when editing objects.Dave Parks
2012-03-09merge changes for vmrg-225Oz Linden
2012-02-09EXP-1883 FIX Toolbar button tooltips display off screen for right hand tool ↵Richard Linden
bar, bottom tool bar, and tooltips on top bar items show off screen
2012-02-07EXP-1181 WIP as a designer I would like to specify default floater positions ↵Richard Linden
using realtive coordinates changed over to new convert() method added LLCoordFloater
2012-02-07EXP-1181 WIP as a designer I would like to specify default floater positions ↵Richard Linden
using realtive coordinates refactored LLCoord code to be templated, ultimately to support arbitrary conversions
2012-01-27SH-2768 Put transparency checkerboard back in texture previewDave Parks
2011-11-29mergeDave Parks
2011-11-28a try fix for sh-2651: [crashhunters] Crash after google translate failureXiaohong Bao
and sh-2658: crash in LLPluginMessage::parse
2011-11-15SH-2591 WIP -- fix for UI disappearing, introduces some artifacts in ↵Dave Parks
rotation ring, committing to debug elsewhere
2011-10-19mergeDave Parks
2011-10-13cleaned up floater reg, removed extraneous functionsRichard Nelson
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-30param block cleanupRichard Nelson
added Flag as value type moved Batch to BatchBlock renamed Choice to ChoiceBlock made merging of parameters for ValueParams consistent (fillFrom and overwriteFrom are inverses of each other now) made iteration over Multiple<T> type params easier initial schema param blocks
2011-09-24SH-2244 Fix for crash when transparent water disabled (silently ignore ↵Dave Parks
setting when basic shaders enabled)
2011-09-23EXP-1027 : Fix the children creation code in LLToolBarView. Only a left ↵Merov Linden
panel is displayed now.
2011-09-23EXP-1207 : More on lltoolbarview. Still not renderingMerov Linden
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-09-20SH-2243 No deprecated calls for the whole session.Dave Parks
2011-09-19EXP-1228 WIP Create toolbar widget class that displays list of buttons ↵Richard Nelson
horizontally or vertically created toolbar class and widget
2011-09-14SH-2243 work in progress -- application side matrix stack managementDave Parks
2011-07-26mergeRichard Nelson
2011-07-17SH-2031 High risk changeset, but potentially high reward. Addresses frame ↵Dave Parks
stalls in renderer by never using the fixed function pipeline if shaders are available.
2011-07-14EXP-880 FIX Enable navigation chrome in search floaterRichard Linden
fixed regression where profile window wasn't using requested size
2011-04-19EXP-648 FIX As a developer, I want to be able to specify param blocks that ↵Richard Linden
use Multiple<LLUIImage> for a sequence of images Factored out param block data classes so that specialized param block types, such as LLUIImage, LLFontGL, LLRect, etc. can be stored in a Multiple<T> context Converted loading_indicator to take image sequence from XUI deprecated name-value pairs for LLUIColor values, and put them in colors.xml
2011-02-22Move Josh's resolvePath() function to LLUI.Nat Goodspeed
Use boost::split_iterator to split LLView pathname on slashes.
2010-12-08merge with viewer-devRichard Linden
2010-12-02mergeMonroe Linden
2010-11-25STORM-676 FIXED Made color swatch control transparent if the floater it ↵Vadim ProductEngine
resides in is transparent.
2010-11-10CHOP-151 Hooked up app exit callback, cleaned up early exit. Rev. by BradMark Palange (Mani)
2010-09-28fix for crash when background image not specified for line editorRichard Linden
2010-09-22instead of exposing mutable container in LLInitParam::Multiple, just expose ↵Richard Linden
access functions, begin(), end(), etc. this allows mutation of param block contents, without being able to change number of elements
2010-08-27Post-convert merge by convert_monolith.py from ./viewer-experienceMonroe Linden
2010-08-23made Params parsers not act as singletonsRichard Nelson
2010-08-24Backed out changeset c3d41f18ce2bTofu Linden
back-out the back-out for this branch. yay.
2010-08-24Backed out changeset a62bf7c0af21Tofu Linden
Backing out this merge that I pushed (prematurely) to the wrong place.
2010-08-24merge heads. whew.Tofu Linden
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-08-02EXT-8545 FIX Button art and other images are positioned incorrectly when UI ↵Richard Nelson
scale != 1.0
2010-07-30further UI rendering performance improvementsRichard Nelson
2010-07-01eliminated a bunch of silent warnings on startup about multiple widget ↵Richard Linden
registration
2010-06-22EXT-7729 WIP LLWARNS: Tons of "Making dummy class..." warnings on startupRichard Linden
improved filename output for XUI parser errors
2010-04-27Implemented perpetual loading indicator widget (EXT-6596).Vadim Savchuk
Simple perpetual loading indicator a la MacOS X or YouTube. Implements spinning by changing pre-defined images. The images are hardcoded, shared by all instances of the widget. Number of rotations per second can be changed via params. Reviewed by Mike at https://codereview.productengine.com/secondlife/r/320/ --HG-- branch : product-engine
2010-04-01EXT-3531 - Ctrl-P does not work reliably on loginRichard Nelson
2010-03-12merge for backout.Monroe Linden
2010-03-12Backed out changeset 6fdd352b80d6Monroe Linden
We thought this was a fix for EXT-6276, but it turned out it was just moving the problem.