Commit Graph

76 Commits (680194deaf7a35caaa629abc16e886d71baff636)

Author SHA1 Message Date
Richard Linden 697d2e720b renamed TimeBlock to BlockTimerStatHandle 2013-10-15 20:24:42 -07:00
Richard Linden cbe397ad13 changed fast timer over to using macro
another attempt to move mem stat into base class
2013-09-05 14:04:13 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
William Todd Stinson 67bc42a80a Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta. 2012-11-20 16:20:40 -08:00
Nat Goodspeed bf99126a37 Remove LLUICtrlFactory::findSkinnedFilename(): cf. LLDir method.
Richard points out that LLUICtrlFactory::findSkinnedFilename() adds little
value. It was called from exactly one place, and that one place could easily
obtain the information another way. The concern is that it could confuse a
reader of the code with regard to the other findSkinnedFilename[s]() methods
in LLDir. Clarifying the code base is a Good Thing. Removing.
2012-10-15 09:38:28 -04:00
Nat Goodspeed 6ca3706808 LLUICtrlFactory::getLayeredXMLNode() gets LLDir::ESkinConstraint.
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-12 08:42:18 -04: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 4285cc271e CHUI-217 FIX Items are not visible in Merchant Outbox
cleaned up a lot custom code for folder view item creation in inbox and outbox
proper initialization of views from inventory panel starting folder
2012-07-30 15:15:42 -07:00
Richard Linden 74092930af CHUI-101 WIP Make LLFolderView general purpose
build fix for gcc
added detection of duplicate widget registration
2012-06-22 14:13:20 -07:00
Richard Linden 8886460a22 SOCIAL-654 WIP Items purchased on Marketplace.secondlife.com while logged into Minimal skin are declined and not present in inventory
made notification text skinnable
2011-03-09 00:21:57 -08:00
Richard Linden e715a78063 fixed filename output on XUI parse errors 2011-02-23 16:35:32 -08:00
Monroe Linden b62b10dd26 Post-convert merge by convert_monolith.py from ./viewer-experience 2010-08-27 16:58:33 -07:00
Richard Nelson 65c9914d23 made Params parsers not act as singletons 2010-08-23 11:03:19 -07:00
Richard Nelson 124bc854dd moved buildFloater out of lluictrlfactory to llfloater.cpp 2010-08-16 17:44:23 -07:00
Richard Nelson c20bd2dfee cleaned up LLUICtrlFactory...
removed redundant functionality
moved buildPanel to LLPanel
2010-08-16 15:00:51 -07:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Richard Nelson 9609b2c81c renamed LLFastXUIParser to LLSimpleXUIParser and added support for parsing xml node text contents 2010-08-06 11:03:15 -07:00
Richard Nelson b2028085fd first pass at faster XUI parsing (no recursion support yet)
also made LLSD->param block parsing faster
2010-08-04 19:02:30 -07:00
Richard Linden 551acaa2df eliminated a bunch of silent warnings on startup about multiple widget registration 2010-07-01 14:19:07 -07:00
Richard Linden 6e961cd9f2 EXT-7729 WIP LLWARNS: Tons of "Making dummy class..." warnings on startup
improved filename output for XUI parser errors
2010-06-22 18:26:29 -07:00
Richard Linden 7a54ce3cf6 EXT-7729 WIP LLWARNS: Tons of "Making dummy class..." warnings on startup
reviewed by Leyla
2010-06-22 13:42:55 -07:00
Richard Linden fbc0e795b1 added empty param blocks to registered widgets that didn't have them
made LLDefaultChildRegistry::Register errors actually crash the client...llerrs doesn't work in static initializers
2010-04-27 16:08:56 -07:00
Tofu Linden 25861bb374 add newline to unbreak linux build. probably. 2009-12-17 14:15:50 -08:00
richard 724f5fbb7f merge 2009-12-17 10:03:56 -08:00
richard 9ff869a6b2 Backed out changeset: 4d482c1ed041 2009-12-17 10:01:55 -08:00
richard cf63ce4dc1 merge 2009-12-17 09:57:43 -08:00
James Cook 4c0d5200bc Merge 2009-12-16 16:04:26 -08:00
James Cook e8fe81c4fc Backed out changeset: cfa60aef8061, added setBlockFromValue so setting a LLRect param in code will set the individua 2009-12-16 16:04:09 -08:00
Leyla Farazha 46f56f5d52 eof newline 2009-12-16 09:45:15 -08:00
richard 1a4047c590 merge 2009-12-15 19:50:17 -08:00
Rick Pasetto a183fb9f5e fix for gcc build 2009-12-15 19:48:02 -08:00
richard 3a02b9ec88 added setBlockFromValue so setting a LLRect param in code will set the individual left, right, top, bottom values, for example
don't call setupParams when creating widgets from code
moved Multiple param constraints into BaseBlock to remove extra scoping
2009-12-15 19:33:18 -08:00
richard 699e2e027b added "value" attribute to radio_items to better support arbitrary data selection
moved LLRadioCtrl to internal implementation of LLRadioGroup
reviewed by Leyla
2009-12-15 14:21:04 -08:00
James Cook 7d3b3cc474 Linker optimization - use "extern template" for commonly regenerated templates
Also replaced many duplicate calls to LLViewerCamera::getInstance() with local pointer.
Reviewed with Ambroff
2009-11-30 14:41:52 -08:00
James Cook f280c43d61 Use extern template for common singletons to reduce code bloat/link time. 2009-11-28 16:51:02 -08:00
richard 1d78ebedbd don't use LLWidgetTypeRegistry for now (useful only for schema generation)
reverted ui_ctrl registration for creation of dummy LLUICtrls
2009-11-12 10:19:23 -08:00
James Cook 6c99704392 Add newline at end of file 2009-11-10 14:40:22 -08:00
Rick Pasetto caa468a5f1 fix for gcc 2009-11-10 12:58:10 -08:00
Richard Nelson b3d1eb82fa fix for chat history layout bugs
EXT-1728 - there is no new line in the text copied on junction of 2 panels
EXT-1670 - fix chat history use of widgets

reviewed by James
2009-10-21 21:30:40 +00:00
Richard Nelson fdc848cf72 removed unnecessary static variable instantiations to improve compile times
moved a bunch of template class statics to cpp files
also added filename parameter to LLXUIParser::readXUI for better debugging of XUI errors

reviewed by James
2009-10-20 22:05:00 +00:00
Steven Bennetts 4c89e73893 Fixed a problem where floaters that failed to load their XML would still be 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-10-08 22:39:17 +00:00
Richard Nelson 29ca0f064d fix for gcc 2009-10-06 21:09:54 +00:00
Richard Nelson ebdbdc42f8 EXT-1013 - tab ordering is inconsistent in the preferences window
reviewed by James
2009-10-06 20:03:04 +00:00
James Cook ada0f4fa22 Merge inspectors UI project, gooey-4, into viewer-2 trunk. Added new tooltips to 3D avatars, 2D avatar names, and 3D objects. Refactors tooltips and text boxes, line editors, and text editors. Breaks LLExpandableTextBox, but a fix is coming.
Resolved conflicts in lltexteditor.cpp, llchatitemscontainerctrl.cpp, llchatmsgbox.cpp, llfloaterbuycurrency.cpp, llnearbychat.cpp, floater_buy_currency.xml, and ru/strings.xml

Merging revisions 134925-135157 of svn+ssh://svn.lindenlab.com/svn/linden/branches/gooey/gooey-4 into C:\source\viewer-2.0.0-3, respecting ancestry
2009-10-03 23:40:28 +00:00
Richard Nelson 58bce2d205 merge -r132032-132812 svn+ssh://svn.lindenlab.com/svn/linden/branches/gooey/gooey-1 2009-09-09 01:26:44 +00:00
Richard Nelson 138bf11322 merge -r 130399-131510 skinning-21 -> viewer-2.0.0-3
DEV-11254 DEV-11254 DEV-2003: DEV-21567 DEV-37301 EXT-104 EXT-138 EXT-217 EXT-256 EXT-259 EXT-259 EXT-328 EXT-348 EXT-386 EXT-399 EXT-403 EXT-460 EXT-492 EXT-492 EXT-531 EXT-537 EXT-684

improved text editor (handles multiple fonts simultaneously as well as inline widgets)
2009-08-24 20:04:52 +00:00
Adam Moss c3cbd04985 svn merge -r130238:130240 svn+ssh://svn.lindenlab.com/svn/linden/branches/linux-updater-6
QAR-1771  Linux Viewer Autoupdater + XUI-parse refactoring
2009-08-21 21:52:21 +00:00
Steven Bennetts 6b31bc7229 EXT-490 Voice device settings unsaved
EXT-466 Statistics window is empty
EXT-488 Minimap does not open
2009-08-15 00:45:43 +00:00
Richard Nelson eb853f55c0 svn merge -r 128442:129343 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-04 01:12:59 +00:00