summaryrefslogtreecommitdiff
path: root/indra/llui
AgeCommit message (Collapse)Author
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-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-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-05Merge in latest viewer-developmentsimon@Simon-PC.lindenlab.com
2012-08-23Automated merge with http://bitbucket.org/lindenlab/viewer-catRichard Linden
2012-08-23MAINT-1473 FIXED Resizing floater past edge of screen causes opposite side ↵Richard Linden
of floater to move updated resize logic to reset floater extents when resizing past bounds
2012-08-24MAINT-1415 FIXED Empty non-functional 'Take off' menu is presented in inspector:MaksymS ProductEngine
- class LLToggleableMenu had been updated with two methods like: appendContextSubMenu and addChild, which based on similar in LLContextMenu
2012-08-22MAINT-1416 FIXED Close Mini-map floater after Ctrl-W if it's opened and ↵Richard Linden
other floaters are not in focus changed fix to always close front most closable floater whether or not it has focus to eliminate special case for mini map
2012-08-22merge changes for DRTVWR-203Oz Linden
2012-09-14CHUI-119 (Add Nearby chat to Conversations floater): addit. fix: use ↵AlexanderP ProductEngine
LLSD(LLUUID::null) instead LLSD::null as "default" floater's key
2012-09-13merging in latest changesGilbert Gonzales
2012-09-13CHUI-283: Now upon the information icon and speaker icon do not overlap the ↵Gilbert Gonzales
username text. Instead the username text will be truncated with an ellipse to prevent the overlap. Also did a code cleanup.
2012-09-13Automated merge with ssh://hg.lindenlab.com/richard/viewer-chuiSeth ProductEngine
2012-09-13CHUI-283: Now the information icon only appears upon mousehover. Also the ↵Gilbert Gonzales
information/speaker icon are right justified.
2012-09-12merging in latest changesGilbert Gonzales
2012-09-12CHUI-335 FIXED (Alpha text allowed in page spinner in chat history viewer)Paul ProductEngine
- Added XML parameter "allow_digits_only" to spinner control widget, which disables/enables ability to input alpha text. - Disabled ability to enter alpha text in page spinner in chat history viewer
2012-09-11merging in latest changesGilbert Gonzales
2012-09-10CHUI-282 WIP Modified conversation view item and IM floater container so ↵Seth ProductEngine
that the folder view handles the positioning of items in conversations list.
2012-09-10CHUI-283: Basic Implementation, just have hard coded avatar icon appearing ↵Gilbert Gonzales
and profile/info buttons visible. profile/info buttons do not have proper positioning or mouseclick events.
2012-08-31merging in latest changesGilbert Gonzales
2012-08-31CHUI-315 (Nearby chat messages do not appear in conversation floater): ↵AlexanderP ProductEngine
cancelled inheritance LLNearbyChat from LLSingleton; set mSingleInstance flag for it.
2012-08-30CHUI-285 : LLIMFloaterContainer is now using LLParticipantList fullyMerov Linden
2012-08-29merging in latest changesGilbert Gonzales
2012-08-29CHUI-305: Problem: The 'resident picker' had multiple parents and due to the ↵Gilbert Gonzales
design of the resident picker it can have only one parent. Having multiple parents caused both parents to fight for depth ordering...which caused the flickering. Resolution: Now multiple 'resident pickers' can exist and they are coupled to the floater that spawned then. Meaning that when the parent floater closes, the 'resident picker' floater will also close. In addition, a shadow frustum eminates from the button that opened the 'resident picker'.
2012-08-28CHUI-280 : WIP : Implement update of LLConversationModel in LLParticipantListMerov Linden
2012-08-23Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta.Todd Stinson
2012-08-20merge back beta fixesOz Linden
2012-08-16merge changes for storm-1879Oz Linden
2012-08-16CHUI-269: Problem: When an item was purchased and delivered into the ↵Gilbert Gonzales
'Received Items' panel, the badge icon and new item count would not show. This was due to the creation date of the folders not being set when a new item was added. Resolution: Now when an item is added into the 'Received Items' panel, the folder hierachy is updated, triggering the badge icon and new item count to show.
2012-08-15merge changes for DRTVWR-194Oz Linden
2012-08-13PATH-849: CRASHFIX This should fix the crash caused by ↵Todd Stinson
LLPathfindingObject::handleAvatarNameFetch being called after the corresponding LLPathfindingObject has been deleted.
2012-08-10CHUI-273: Problem was that after renaming the item, the item was not ↵Gilbert Gonzales
triggering a sort. Resolution: Once the name of the item is set, trigger a sorting of the parent.
2012-08-09Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development.Todd Stinson
2012-08-09Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta.Todd Stinson
2012-08-08CHUI-272: BUGFIX Correcting the inventory filtering so that a large number ↵Todd Stinson
of items in the inventory are completely processed before the filter's modified flag is cleared.
2012-08-08Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2012-08-08Move llhandle.h into llcommon; same generality as llpointer.h.Nat Goodspeed
Leaving llhandle.h in llui restricts the set of viewer project directories which could potentially use it, and there's nothing whatsoever UI-specific about it.
2012-08-03Merge with lindenlab/viewer-developmentsimon@Simon-PC.lindenlab.com
2012-08-03CHUI-271 FIX Items that are cut and then removed from the clipboard without ↵Richard Linden
paste do not show in Trash until relog
2012-08-02Automated merge with ssh://hg.lindenlab.com/richard/viewer-chuiRichard Linden
2012-08-02CHUI-223 FIX Selecting to cut an inventory item causes all open inventory ↵Richard Linden
windows to refresh
2012-08-02merge changesGilbert Gonzales
2012-08-02merging of latest codeGilbert Gonzales
2012-08-02CHUI-230, CHUI-232, CHUI-261 Forced resize of a conversation's floater in ↵AlexanderP ProductEngine
the IM-container; support of the rectControls for IM-conversations; fixed LLFloater and LLMultiFloater for the correct hosting of floaters with mSaveRect
2012-08-01CHUI-223 WIP Selecting to cut an inventory item causes all open inventory ↵Richard Linden
windows to refresh avoid moving selection when cutting
2012-08-01CHUI-223 WIP Selecting to cut an inventory item causes all open inventory ↵Richard Linden
windows to refresh improved filtering behavior that should result in less flashes of emptiness
2012-08-01merge of latest changesGilbert Gonzales
2012-08-01CHUI-214: Scrolling to offscreen content now works. Problem was due to the ↵Gilbert Gonzales
icon height/width not being computed before scrolling to the new item. There was also a problem with the computation that determines if the item being scrolled to is within the visible region.
2012-08-01CHUI-254 FIX Fix Inventory filter and item draw() to highlight matching ↵Richard Linden
substrings in inventory made background highlighting sit behind label, so as not to obscure neighboring characters in label
2012-08-01CHUI-268 (Transfer the common functionality from LLNearbyChat and ↵AlexanderP ProductEngine
LLIMFloater to LLIMConversation): Remove duplication of functionality from LLNearbyChat; transfer mChatHistory, mInputEditor and some its settings and callbacks to the base class.