Skip to content
Snippets Groups Projects
  1. Mar 19, 2019
  2. Mar 13, 2019
  3. Jan 09, 2018
  4. Nov 10, 2015
  5. Aug 09, 2013
  6. May 05, 2013
  7. Apr 30, 2013
  8. Mar 29, 2013
  9. Oct 10, 2012
    • Nat Goodspeed's avatar
      Introduce new LLDir::findSkinnedFilenames() method. Use as needed. · 3653727e
      Nat Goodspeed authored
      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.
      3653727e
  10. Sep 19, 2012
  11. Oct 13, 2010
  12. Sep 21, 2010
  13. Aug 13, 2010
  14. Mar 12, 2010
  15. Oct 15, 2009
  16. Sep 07, 2009
  17. Aug 24, 2009
    • Richard Nelson's avatar
      merge -r 130399-131510 skinning-21 -> viewer-2.0.0-3 · 138bf113
      Richard Nelson authored
      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)
      138bf113
  18. Jul 27, 2009
  19. Jul 10, 2009
  20. Jul 06, 2009
    • James Cook's avatar
      Merge skinning-14 to viewer-2, including refactoring many floaters to register... · 52aeaa32
      James Cook authored
      Merge skinning-14 to viewer-2, including refactoring many floaters to register them with LLFloaterReg, support for introspection of ParamBlock based UI widgets to dump XML schema, splitting llfolderview.cpp into three separate files to unravel dependencies and skeleton for for LLListView widget.  Resolved conflicts in these files:
      lldraghandle.h, lluictrl.h, llchiclet.cpp, llfolderview.h/cpp, lliinventorybridge.cpp, llpanelpicks.cpp, llviewermenu.cpp, floater_mute.xml, floater_preferences.xml, notifications.xml, panel_preferences_audio.xml, panel_preferences_graphics1.xml, panel_region_general.xml
      svn merge -r124961:126284 svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-14
      52aeaa32
  21. Jun 21, 2009
  22. May 08, 2009
  23. Mar 13, 2009
Loading