summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2012-10-12LLUICtrlFactory::getLayeredXMLNode() gets LLDir::ESkinConstraint.Nat Goodspeed
At this point, LLUICtrlFactory::getLayeredXMLNode() is a pretty thin wrapper around LLDir::findSkinnedFilenames() and LLXMLNode::getLayeredXMLNode(). Until now, LLUICtrlFactory::getLayeredXMLNode() passed (by default) LLDir::CURRENT_SKIN to LLDir::findSkinnedFilenames(). But that meant that a caller such as LLTransUtil::parseStrings() that wants almost the same functionality, but with LLDir::ALL_SKINS instead, had to clone the logic from LLUICtrlFactory::getLayeredXMLNode(). Allowing its caller to pass the desired LLDir::ESkinConstraint enum value eliminates the need to clone its logic. Remove cloned logic from LLTransUtil::parseStrings().
2012-10-11Change LLDir::findSkinnedFilenames() to use enum instead of bool.Nat Goodspeed
At Richard's suggestion, changed the bool merge parameter to new enum ESkinConstraint with values CURRENT_SKIN and ALL_SKINS. This clarifies what we're requesting at the point of the call.
2012-10-11Merge revised viewer_manifest.py rename logicNat Goodspeed
2012-10-11Use viewer_manifest.py magic to rename embedded html dir to html.old.Nat Goodspeed
Previous attempt at this same feat copied "*/html" and then iterated through every such directory in the copy-target space, renaming each individually with os.rename(). Richard kindly pointed out that it can be done more simply by using a viewer_manifest.py feature permitting wildcards even in dst= args.
2012-10-11Make LLTransUtil::parseStrings() merge all relevant strings.xml files.Nat Goodspeed
Until now, adding a xui/en/strings.xml file in any non-default skin meant you had to clone the entire file, editing only the particular entries you wanted to override. With this change, we load strings.xml file(s) from the default skin before loading the specified skin -- so a non-default skin can now provide a strings.xml file containing only the specific entries it wants to override.
2012-10-10Remove HelpUseLocal setting variable. Hide local html skin dir.Nat Goodspeed
We assert that the local html directory is no longer used. Remove machinery related to its use, notably HelpUseLocal, the code that checks it and the code that sets and examines special flag URL "__local". Before actually killing off the local skins/default/html directory, make viewer_manifest.py rename it but continue packaging it as html.old. If this doesn't cause a panic, we can proceed with removing it entirely.
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-10-10On lluuidhashmap_tut<1> failure, save/reload data in temp file.Nat Goodspeed
Generating new random data on every test run makes it impossible to debug a test failure. While in general we do want to generate random data to thoroughly exercise the generator logic, if every new run generates new data, the only thing we can do about an observed failure is shrug and ignore it. Add logic to save data on failure, with corresponding logic to notice and reload from a previously-generated save file. In case of a merge collision, this version SUPERCEDES my previous efforts with this file. (My other changes may still be in a backed-up merge request.) It is okay to resolve collisions in favor of this version.
2012-10-10#include <string.h> in v3color.h: recent Linux compilers care.Nat Goodspeed
Linux dev builds have started breaking because v3color.h uses strlen() and strncpy() without declaring them. Add relevant #include, which fixes.
2012-09-11Resync steam/xui/*/strings.xml with default/xui/*/strings.xml.Nat Goodspeed
The steam/xui/*/strings.xml files are intended only to override a single string (create_account_url). But until the strings.xml C++ code supports fallback to the default skin, we must manually keep them synchronized except for that one string.
2012-09-08DRTVWR-209 Merge of viewer-development with SH-3316 drano-http code.Monty Brandenberg
cmake and other files didn't get moved over, do it by hand.
2012-09-07DRTVWR-209 Merge of viewer-development with SH-3316 drano-http code.Monty Brandenberg
Cmake files not merged correctly and had to be done by hand. New memory allocation made some memory usage tests in the llcorehttp integration tests no longer valid. Would like to work on LLLog sometime and get it to be consistent. Special flags needed for windows build of example program.
2012-09-07DRTVWR-209 Additional merge of viewer-development with SH-3316 drano-http code.Monty Brandenberg
Restore original deleteRequest/removeRequest implementation removing a small race. Remove a short-lived additional timeout scheme on requests which really isn't appropriate as originally implemented as we can have very long-lived requests on big regions.
2012-09-07Automated merge with file:///Users/nat/linden/davep-viewer-development-rebasedNat Goodspeed
2012-09-07DRTVWR-209 Merge of viewer-development with SH-3316 drano-http code.Monty Brandenberg
This was yet another refresh from v-d because of significant changes to lltexturefetch that would not have been resolvable by casual application of any merge tool. There are still a few questions outstanding but this is the initial, optimistic merge.
2012-09-07MAINT-1491 Fix for L&S never being enabled by default on XP/Linux/OS XDave Parks
2012-09-06Automated merge with file:///Users/nat/linden/davep-viewer-development-rebasedNat Goodspeed
2012-09-05[MAINT-513] Large group managementBaker Linden
- Reduced the timeout to 5 minutes, down from 10 minutes. - Provided output for GroupMemberResponder error - Removed commented calls to sendGroupMembersRequest - Reordered calls to sendCapGroupMembersRequest so it's called last
2012-09-05Reapply f6ed57210865 to zh/notifications.xml: remove "FirstRun" link.Nat Goodspeed
Because create_account_url should vary between viewer languages and skins, we've made an effort to ensure that create_account_url is used everywhere, instead of directly embedding http://join.secondlife.com. Recent rev 6ee71714935f accidentally reinserted the link embedded in the "FirstRun" notification for language 'zh'. Delete it again.
2012-09-05Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2012-09-04WIP INTL-46 Set25, Set26, Set27 translations for traditional chinese; add ↵eli
new files
2012-09-04viewer-development mergeChris Baker
2012-09-04Cleaned up commentsChris Baker
2012-09-04merge changes for DRTVWR-207Oz Linden
2012-08-31- Fixed an issue where service was called twice in a frameChris Baker
- Changed level of output logs - Cleaned up comments
2012-08-31merge changes forOz Linden
2012-08-31Copy sourceid= from create_account_url to login-page URL.Nat Goodspeed
This allows the login-page server to respond to any sourceid= associated with the create_account_url, which (we happen to know) varies by skin -- e.g. for the Steam viewer.
2012-08-31Now that LLURI isn't broken, use it to construct login-page URL.Nat Goodspeed
Previous logic constructed a std::ostringstream, directly messing with '?' vs. '&', ugly libcurl escape calls etc. Now we can deconstruct the LLGridManager:: getLoginPage() URL, supplement the params map as needed and then rebuild a new URL using LLURI::buildHTTP().
2012-08-31Fix longstanding LLURI::buildHTTP() bug when passing string path.Nat Goodspeed
The LLURI::buildHTTP() overloads that take an LLSD 'path' accept 'undefined', LLSD::String and (LLSD::Array of LLSD::String). A sequence of path components passed in an Array is constructed into a slash-separated path. There are unit tests in lluri_test.cpp to exercise that case. To my amazement, there were NO unit tests covering the case of an LLSD::String path. The code for that case escaped and appended the entire passed string. While that might be fine for a 'path' consisting of a single undecorated path component, the available documentation does not forbid one from passing a path containing slashes as well. But this had the dubious effect of replacing every slash with %2F. In particular, decomposing a URL string with one LLURI instance and constructing another like it using LLURI::buildHTTP() was not symmetrical. Having consulted with Richard, I made the string-path logic a bit more nuanced: - The passed path string is split on slashes. Every path component is individually escaped, then recombined with slashes into the final path. - Duplicate slashes are eliminated. - The presence or absence of a trailing slash in the original path string is carefully respected. Now that we've nailed down how it ought to behave -- added unit tests to ensure that it DOES behave that way!!
2012-08-30WIP INTL-46 Set24 translation for traditional chinese; add new files; remove ↵eli
obsolete files
2012-08-30FIX INTL-101 translation of set33 for 8 languages; add new files; remove ↵eli
obsolete files
2012-08-29MAINT-1491 Make GPU table more readable, clear out some cruft, and start ↵Dave Parks
reporting raw GL strings in viewer stats instead of GPU table labels to make future GPU table overhauls more effective.
2012-08-29MAINT-1491 Add Intel HD Graphics entries.Dave Parks
2012-08-29MAINT-1491 Add Radeon HD 7xxx chips, get rid of "ATI Technologies" catch ↵Dave Parks
all, split up NVIDIA GT(X) 6xx series into mobile/desktop.
2012-08-29WIP INTL-46 Traditional Chinese translation for Set23TW (120829)eli
2012-08-29MAINT-1497 Remove "ATI Geforce" lines (also add "expected OpenGL version" field)Dave Parks
2012-08-29MAINT-1455 FIX Media Texture not visually updated correctlycallum
Reviewed by me. (Bao created)
2012-08-28Got viewer displaying new data formatChris Baker
2012-08-28MAINT-1491 Tuned analysis function for more consistent resultsDave Parks
2012-08-28MAINT-1491 Integration of statistically generated GPU table -- enable ↵Dave Parks
shadows by default where appropriate.
2012-08-27MAINT-1480: Ensuring that the new angular velocity is remembered for later ↵William Todd Stinson
comparison to the previous angular velocity.
2012-08-27PATH-868: Ensuring that walkability values are reset to a previous value if ↵Todd Stinson
the empty string is entered.
2012-08-27MAINT-1480: Clearing the angular velocity accummulation when the updated ↵Todd Stinson
angular velocity is set to zero.
2012-08-23Start of getting WSGI service on viewerChris Baker
2012-08-22Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta.Todd Stinson
2012-08-22PATH-864: Altering the minimum linksets floater size to smaller to allow ↵Todd Stinson
fitting to 1024 width screens.
2012-08-22MAINT-1444: Make bottom-right corner of new login panel overlap.Nat Goodspeed
MAINT-1444 complains that with all optional login-panel controls enabled, the login panel is wider than 1024 pixels: at that width, the new "Start now" button is pushed completely off the right edge of the window. Richard told me how to tweak the layout so that the controls can squeeze together in an overlapping way, enabling all controls to be visible even at 1024 width.
2012-08-22merge changes for DRTVWR-202Oz Linden
2012-08-22Fix up white space to follow coding policy guidelinescallum_linden
2012-08-22pull back release hotfix and beta fixesOz Linden