This works for notifications, and profiles, and chats, and even updates!
Amazing, right?
SinguReplaceLinks is on by default, URL highlighting works regardless, no rogue labels with this off.
Select, right click, Copy Raw lets you copy the link with its hidden url shown
and you can paste it back the same way if you're wanting to paste it all over!
LLTextEditor overhaul synced the code with upstream LLTextBase as much as we could.
appendStyledText is now just appendText
Every setText appendText's now and adds a style based on the texteditor's color and font, this could slightly increase the weight of text editors (one extra segment) but it fixes a nasty bug with running past segmentation.
Also no longer update the utf8
Removed append() which was no longer being used
LLTextEditor and LLViewerTextEditor now have an extra boolean at the end of their constructors to have this replacement turned on at construction time (this also sets them read only)
Update TextSegments to have a Tooltip string, like upstream.
Hardened notecard previews so they don't accidentally replace the text when they go read only.
Thanks to Deltek and Router Gray for helping me test and debug this commit!
Added the feature of selecting an animation from combo boxes and it playing automatically if it should be at this moment.
Now for the stuff only developers will understand:
FloaterAO is now a FloaterSingleton, because it should've been behaving that way all along.
Refactors a lot, simplifies a lot, best view without space changes.
Reduces a lot of redundant blocks.
Creates some functions to make things like AOStates easier to get
AOStates are now an enum instead of a bunch of const ints.
Cleaned up includes.
NULL -> nullptr, virtual->override, BOOL->bool, for->foreach
Removed struct_tokens, it was redundant and actually just took up space.
No longer set all the children invisible, their parent does a good job of that.
Relate ComboBoxes to their states, so that we can easily get a setting and do a whole bunch of things with a lot less code.
Remove unused parameters and functions and variables
Remove unused boolean returns from functions.
Don't clear combo boxes just because one id is null.
Add a checkbox for creating desktop shortcut, restoring this functionality.
Fix install folder defaulting to 64-bit for 32-bit.
NOTICE: We now only support NSIS 3, no we don't care about your set up,
see our build-windows page for updated details on this.
Sync light state, bound shader, and various gl context states similarly to render matrices.
Texture handles now refcounted, as multiple viewer textures could ref the same handle (cubemaps do this)
Clean up gl extension loading a bit. Not necessary, but only look for ARB variants if not included in current core version. Removed unused extensions.
Use core shader api if supported, else use ARB. (FN signatures are identical. Just doing some pointer substitution to ARB if not core.)
Attempt at improving VBO update batching. Subdata updates better batched to gether per-frame.
There's probably other stuff I forgot that is in this changeset, too.
Todo: Fix lightstate assertion when toggling fullscreen with shaders off.