Utilized old save and load notification code.
Main concern was with notifications that have complex responder - UserGiveItem, ObjectGiveItem. Those responders are object with own fields that need to persist through sessions.
Notifications that should be saved are marked with persist="true" in notifications.xml
Notifications using functor responders are saved automatically.
Notifications using object responders need additional tuning. Responder object should be a) serializable(implement LLNotificationResponderInterface), b) registered with LLResponderRegistry.
At this point following notifications persist through sessions: UserGiveItem, ObjectGiveItem, TeleportOffered, FrienshipOffered.
Reviewed by Mike Antipov - https://codereview.productengine.com/secondlife/r/211/
--HG--
branch : notifications
(Should not be able to start a call when voice is disabled). Call buttons state now reacts on
voice changes in time.
- Added voiceWorking() method to LLVoiceClient to determine real availability of voice, because voiceEnabled()
doesn't take into account possible errors. Perhaps there is no need in two methods- some investigation will be
made and depending on its results they may become one non-static method. voiceWorking() uses state of voice
client(mState) to determine voice availability. Also some states which are not currently counted by voiceWorking()
as valid may be added if testing reveals problems.
- To enable/disable call buttons in time, LLVoiceClientStatusObserver is used. Its trigger uses states from its
enum only to skip updating button in some states(to avoid button blinking), but to determine button state
LLVoiceClient's voiceWorking() is used.
--HG--
branch : product-engine
code. All help should now go through the new help server, via the Help
Browser floater. There should no longer be any custom "?" buttons in
the UI - all <button> and <notification> XUI references relating to
custom help buttons have been expunged.
(I previously extracted all of the help strings from notifications.xml
and passed these to the doc team to include in the help server pages.)
I have checked that none of the XUI elements that are removed here are
still referenced by any C++ code. I've also confirmed that there are
no new notifications removed that I have not already passed on to the
doc team. And I've also done a pass through the UI to make sure that
all of the floaters still look as they should. Finally, I've confirmed
that the new help system for floaters and side panels still works.
2,276 lines deleted - 0 lines added.