Commit Graph

100 Commits (8bb3d0891dfd87b54cd45dfe199c2f1bf21205b3)

Author SHA1 Message Date
simon@Simon-PC.lindenlab.com 40e78a80cc Pull and merge viewer-development 2012-12-04 14:31:15 -08:00
Kelly Washington c6a5b62152 MAINT-994 Oskar Linden login issues
* Set max persistent notifications to 250
* Don't register for notification callbacks until after peristent ones are loaded.
reviewed with Simon
2012-09-26 14:40:16 -07:00
Nat Goodspeed 730d13a76a Change LLDir::findSkinnedFilenames() to use enum instead of bool.
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-11 19:51:07 -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
Todd Stinson 6e710333e7 Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-release. 2012-06-22 18:59:31 -07:00
Paul ProductEngine d9cf4691a7 MAINT-938 ADDITIONAL FIX (Make debit-permissions dialog give a stronger warning)
- Requested permissions are added dynamically to the dialog's footer
- And the footer is not shown when it is empty
2012-05-18 21:01:10 +03:00
Paul ProductEngine f4edcdd409 MAINT-938 FIXED (Make debit-permissions dialog give a stronger warning)
- Added new tag called "footer" to the notification. This tag allows to display messages under the buttons in toasts.
- Created new class LLToastScriptQuestion for the "ScriptQuestionCaution" notification. This notification supports tag <footer>.
2012-05-17 21:02:53 +03:00
Todd Stinson 9329217667 PATH-585: Adding an initial notification for when a server-side automatic unfreeze occurs. 2012-04-27 17:08:33 -07:00
Richard Linden e09661f6ec fix for compile error 2012-01-23 17:49:29 -08:00
Richard Linden 77a83dddf5 EXP-1837 FIX parsing notifications.xml during startup can take > 40 seconds (in non-release builds)
added logging to track length of time spent reading notifications templates
2012-01-23 17:47:23 -08:00
Dave Parks f19f43c746 merge 2011-10-19 16:21:18 -05:00
Richard Nelson e61569d714 added compound LLSD parsing to param blocks
reviewed by Leslie
2011-10-10 14:08:14 -07:00
Dave Parks f657f5a428 SH-2276 Remove some log spam to alleviate stalls on login. 2011-09-28 15:54:02 -05:00
Richard Nelson 2809778bf1 EXP-1201 FIX Quit button option not present in Mode Changing and Exit viewer dialogs 2011-09-14 19:45:00 -07:00
Ima Mechanique ad0cb157fe STORM-1175 Fixing close button, for Custom Port warning, in Preferences => Setup => Network. 2011-05-12 11:42:46 +01:00
Richard Linden 336ca0c6ba SOCIAL-676 FIX Both move UI hints shown in Advanced skin
accidentally removed loading of visibility rules
2011-03-09 18:36:30 -08:00
Richard Linden 27d25e7ae1 SOCIAL-659 FIX Viewer crash when selecting report option from mini-inspector in minimal and standard skin 2011-03-09 18:20:08 -08:00
Richard Linden 02b5356d0d fix for mac and linux builds 2011-03-09 10:49:47 -08: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 397c772505 SOCIAL-618 FIX Move UI hint not being shown in Minimal skin
duplicate suppression will now properly delete extra notifications, fixing memory leak
2011-03-01 19:50:05 -08:00
Aleric Inglewood a873ae55a3 VWR-24317: remove warning due to unassigned variable 2011-01-20 15:57:07 -05:00
Monroe Linden dee57bea25 Merge from viewer-development. 2010-12-20 11:21:17 -08:00
Richard Linden a927b1cb0e SOCIAL-266 WIP HTTP AUTH dialogs no longer work in LLQtWebKit 4.7.1
initial support for XUI auth dialog
2010-11-18 22:34:54 -08:00
Richard Linden 50d21a75a7 merge 2010-11-15 15:52:54 -08:00
Richard Linden d7bca2b7b1 EXP-428 FIXED Display of llDialog and some other dialogs that should not be suppressable is broken 2010-11-10 11:38:55 -08:00
Richard Linden 8daea83c98 EXP-421 FIX Notifications tab in Preferences not working properly
fixed logic so that ignore consistently means *don't show* the notification
the ignore settings still store "show the notification if true" values
2010-11-08 19:27:24 -08:00
Richard Linden 197f09f1ea EXP-421 FIX Notifications tab in Preferences not working properly
reverted to old sense where ignore setting of notifications has meaning true=show false=ignore
reviewed by Callum
2010-11-08 15:40:27 -08:00
Richard Linden b10744dbee fix for default notification form valus not appearing 2010-10-11 16:33:23 -07:00
Monroe Linden 1ae67f66d1 Fixed a problem that prevented notification tags from being parsed.
Added some lldebugs to the LLNotificationTemplate constructor and LLNotifications::isVisibleByRules() that may be useful in debugging notification issues in the future.
2010-10-07 15:44:35 -07:00
Richard Linden ff81c6c529 changed format of notification_visibility rules to be cleaner 2010-10-05 14:31:07 -07:00
callum 21c8dea4e4 Test merge 2010-10-04 17:40:59 -07:00
Monroe Linden a82a270b80 More precise control of notifications using notification_visibility.xml.
Added a "name" property that lets a rule match a specific notification.
Added a "response" property that lets a rule specify a response when it matches.

Reviewed by Richard.
2010-10-01 17:43:27 -07:00
Leyla Farazha d3422c8d9e Merge 2010-10-12 15:52:03 -07:00
Leyla Farazha 7ffc9b06c8 Created a floater for setting display name 2010-10-08 16:56:02 -07:00
Monroe Linden 2b6d3b851f Adding tags mechanism to notification visibility rules.
Also started adding the tag 'fail' to entries in notifications.xml that are failures the user should always be told about.

Reviewed by Richard.
2010-09-30 14:48:36 -07:00
Monroe Williams cd2b9b45fa Cancel hidden notifications instead of using empty responses.
This is more work on EXP-111.

Reviewed by Richard.
2010-09-30 12:18:49 -07:00
Monroe Linden 27f6b2ea7d Change non-visible notifications to return empty response instead of default.
This is part of EXP-111.

Reviewed by Richard.
2010-09-29 16:51:21 -07:00
Leyla Farazha 97f11e0e39 added max_length_chars to notification params 2010-09-29 10:56:47 -07:00
Monroe Linden b2ebf4c245 Add XML validation in LLNotifications when loading notifications.xml and notification_visibility.xml.
Reviewed by Richard.
2010-09-28 17:10:40 -07:00
Monroe Linden ff071bbdce Added a mechanism for preventing classes of notifications from being displayed, controlled by the notification_visibility.xml file in the viewer skin.
Reviewed by Richard.
2010-09-28 16:49:22 -07:00
Leyla Farazha a4b223248e Merge 2010-09-27 17:54:52 -07:00
Richard Nelson ad440a68bb merge 2010-09-27 09:46:20 -07:00
Tofu Linden d3a9d6a6ce trivial indentation changes while I'm poking around here.
(transplanted from 01d8534678f5613c924a036128addf6b7447c92a)
2010-09-24 15:44:26 +01:00
Richard Linden 636c86782b cleaned up notifications.xml and made global notifications toggle not use or modify saved responses 2010-09-22 16:12:04 -07:00
Richard Linden 0edb695ea8 instead of exposing mutable container in LLInitParam::Multiple, just expose access functions, begin(), end(), etc.
this allows mutation of param block contents, without being able to change number of elements
2010-09-22 14:48:18 -07:00
Richard Linden 325f16d0b4 fix for mac build and possible crash when responding to notification twice 2010-09-21 14:28:03 -07:00
Richard Nelson a748466377 EXP-82 FIX MOTD open in external browser notification not given until fully logged in
reviewed by Monroe
2010-09-20 19:16:17 -07:00
Richard Linden 8e09bcd703 fix for clicking on Invite Friends resulting in disabling popups 2010-09-17 17:28:22 -07:00
Richard Linden 2dc14c66d4 fix for all notifications being ignored by default 2010-09-16 17:55:28 -07:00
Richard Linden b24071ca89 added ability to have notification ignore variable point to settings.xml variables 2010-09-16 16:28:57 -07:00