Fairly certain this adds the feature in which the user may click the online notification to open a chat with the user coming online.
Translators may want to look at the xml changes of this change to see what to update
Removes old LegacyMultiAttachmentSupport patch
Moves LLAvatarName-centric functions into LLAvatarName from elsewhere.
Adds boost::signals2::connections to name polling places.
Removes more old icky static callbacks
Merge from Alchemy, credit where due~
Update notifications.xml to have a bunch of the tags from upstream to ease diffing
Note to Translators:
-Adds translation work to floater_object_backup.xml
-Adds ImportFailed, ExportAborted, and ConfirmAbortBackup to notifications.xml
Turns LLViewerObjectBackup into an LLFloaterSingleton.. but eventually, this should probably be an instance tracker on the uuid of the object to export or something instead.
Includes:
MAINT-3541 (crash in std::vector >::reserve)
MAINT-3364 FIXED Call clearSelection() from root_folder
MAINT-3621 FIXED Set name to "Unnamed" if object's name consists of whitespaces.
MAINT-3412 add gpu_table line with distinct Intel Iris Pro OpenGL regex to match new MBP with forced Intel graphics
MAINT-3119 FIXED Return common chars for triggers that matches the prefix.
MAINT-3661 Fix for crash when uploading corrupt .dae file.
MAINT-3671 FIXED Rename title when new tab is added.
MAINT-3465 FIXED Add check mark to selected entry.
BUG-5537 FIX reverting breaking changes to pectorals and belly.
MAINT-535 FIXED The teleport SLAPP is changed to UNTRUSTED_THROTTLE. Confirmation dialog for teleporting via slapp is added.
Thankies Baker Linden~
Ported Ansariel's mAvatarNameCacheConnection change to mAvatarNameCacheConnections to llpanelgroupbulkimpl.h
Adds setGroupID in places, in case we ever want to add that.. but for now we don't really need/use it
Adds Refresh_Off icon from upstream.
Viewer Interesting changes:
Moves LLGroupChange out of stdenums.h into llgroupmgr.h
Moves roles_constants.h from llcommon into newview
This looks like it's better without space changes...
Adds separated default permissions for Objects, Uploads, Scripts, Notecards, Gestures and Wearables.
Compatible with Export Permission
Backwards compatible with default permissions for objects on regions where AgentPreferences capability is not available (opensim users rejoice!)
These changes to llfloaterperms are made available under lgpl, if there's a v3 that wants to adopt default export permission for opensim.
e4a6e0d257c1 - fixed : @recvim=n isn't actually blocking the incoming message
35869fc884e9 - internal : minor refactoring of the process of updating the navigation and top info bars when toggling @showloc
9688630000ad - changed : show a limited context menu in the nearby people panel when @shownames restricted
-> "Offer/Request Teleport" (filtered)
$ Singu Change: Adds Recording of teleport offers to chat (if sending less than 10), one day I'll get around to doing this right into IMs
Noticed RLV.EnableIfNot was not being used, so I plugged it in for windlight.
Future Note: This brings us up to 417d759f0fa9 on the RLVa tree.
Before, when anything but the exact correct Login URI was entered, the
user would either get no error, or a pop up saying "Cannot retrieve grid
info from server."
With this patch, that pop up includes what went wrong and stresses that
they check if they entered the correct Login URI and where to find it.
I was motivated to write this after looking at crash report 8405 where
a user who had downloaded Singularity for the very first time crashed
twice when entering things like "aviworlds" and " aviworlds.com:8002"
(not the space), and "http:aviworlds.com:8002" (missing '//').
Especially in the light of FS accepting Login URI without the 'http://',
a lot of grid websites (like that of aviworlds) might instruct users
to enter the url without http://. Ie, this user was told to enter
just "aviworlds.com:8002", and when that failed was instructed to
add 'http' in front of it...
Now the code accepts also really WEIRD things, but will never mess
up a good entry. For example, if you enter "pssshht:aviworlds.com:8002"
then that will work, as a side effect. The real objective however is
of course to let things work like: "aviworlds.com:8002 ",
"http:aviworlds.com:8002", " http:/aviworlds.com:8002", and to give
a usable error message when there is a typo in the hostname (Cannot
resolve hostname) or they forget to add a port number (404, or
connection refused), plus the text "Make sure you entered the correct
Login URI. An example of a Login URI is: \"http://cool.grid.com:8002/\",
this url can usually be found on the website of the grid."
Includes Chalice Yao's pause agent on attachment selection in LLSelectMgr::updateSelectionCenter()
Includes some of Cinder Roxley's enhancements to the build floater for materials (flip buttons, sync materials, consistent control hiding)
Includes Ansariel Hiller's fix for FIRE-8298 [BUG-869] [MAINT-1961], since this updates lltexturectrl.* to have related behaviors.
Switches from using MIN_MANHATTAN_DIST for threshold in LLToolDragAndDrop to using the existing DragAndDropDistanceThreshold debug, like upstream.
Translators:
panel_tools_texture.xml should now be translated, floater_tools.xml should have the old panel removed.
strings.xml now has "use_texture" string.
notifications.xml Now has "LivePreviewUnavailable" alert. (don't forget to translate the ignoretext)
Instead of having several AI* classes, it turned out to be easier to
have a namespace: this allows me to define the classes in llcommon but
add (new) 'add' and 'add_modal' functions to 'AIAlert' in llui.
This is needed to avoid a collision with the 'add' functions in
LLNotificationsUtil.
The new add/add_modal makes it a lot easier to just show a caught
alert, prepending or appending new text: it turns out that that is
way more common then a re-throw.
Adjusted code as appropriate.
In order to remove code duplication, and as prove of concept,
I redid the linden_genepool archetype export and import (from the Edit
Appearance Floater), using AIXML and AIAlert.
The import/export code did shrink significantly, and became a lot
simpler. Although a new file pair (aixmllindengenepool.{cpp,h}) is
added to define the (de)serialization of the linden_genepool XML format,
that code is now centralized in one place, and still a lot simpler.
As a bonus however, every possible error is now semi-automatically
reported to the user with all details that might help to overcome
the problem, like file names and system errors.
A system to throw errors that allow for easy error reporting to the user
by showing a translated pop-up alert box with the error message.
The messages use strings.xml for translation and allow the usual
replacement args (ie [FILE] is replaced with a filename).
The exceptions can be cascaded, by adding more (translated) text
when caught and then re-throwing the result.
Macros are being used to support adding a function name prefix
to a message of the current function that the exception is thrown
from.
The syntax is:
<macro>(<line>); to show 'line'
<macro>(<alert>, <line>); to append 'line' to a caught alert.
<macro>(<line>, <alert>); to prepend 'line' to a caught alert.
where <macro> is one of:
THROW_ALERT, THROW_MALERT, THROW_FALERT, THROW_FMALERT,
THROW_ALERTE, THROW_MALERTE, THROW_FALERTE, THROW_FMALERTE, where
M = modal, F = Function name.
and where <line> is one of:
<xmldesc>
<xmldesc>, AIArgs<args>
where <xmldesc> is a string literal that will be looked up
in strings.xml, and <args> is:
(<key>, <replacement>)[<args>]
There are more variations of the macros to throw an arbitrary
class (append _CLASS), include an int code (append C) or
to store the current errno as code (append E).
For example, THROW_MALERTC(code, ...), or THROW_FALERT_CLASS(Foobar, ...),
where the ... is the same as for the macros above.
Documentation and example usage has been added to aialert.h.
Better/more notifications.
No longer applies UUIDs of textures exported on a different grid,
except for secondlife <--> secondlife_beta, but with a warning.
Added debug settings OBJExportNotifyFailed and OBJExportNotifySuccess for whether or not to notify about OBJ Exports failing or succeeding respectively
Moved exports back into tools submenu, there's not enough variety to justify a menu dedicated to exportation
Removed hardcoded "Insufficient Permissions" string, there's already a notification for this.
Implemented proper permissions checking, along with own Avatar Export.
Conflicts:
indra/newview/llfloateractivespeakers.h - llparticipantlist.h got changed from a panel to a layoutpanel
indra/newview/lloverlaybar.cpp - Silly conflict, I change one line, Shyotl changes the next two.
Compile fixies:
indra/newview/llavataractions.cpp needed to include llnotifications.h
indra/newview/llvoicechannel.cpp needed to include llnotifications.h
Migrate a bunch of classes out of llvoiceclient.* and into new llvoicevivox.*
Update most of these to match their counterparts
Introduce VoiceFonts support (voice morphing, floater still to come)
Support for a bunch of v3 voice settings.
Move volume settings management from LLMutelist into LLSpeakerVolumeStorage
Support for Avaline mutes (WIP)
Adds voice section to LLAgent
Moved llfloatervoicedevicesettings to llpanelvoicedevicesettings, v3's voice device panel design is more intuitive.