I think I covered all my bases:
Local Chat, IMs/Group/Conference Chats
Script Dialogs
Group Notices
There are a few others maybe, like notifications EMs can spawn but if
those are intentionally tricking people, grid owners should be informed.
Hey there, Alpha User! This commit is riddled with complex words,
but here's what matters to you: This adds the ability to right click a
Name, URL, SLURL, or Object Name, or even an Email, and get some awesome
options just like v3 gets! Buuuut, unlike V3, if there was something else
you might want to do, we've still got you covered in the same menu!!
Also make the text editor's default menu an xml
Synced a lot from upstream
Unlike Upstream, actually combine the base menu with the url menu if we have a selection
Unlike Upstream and previously, don't create a new menu per text editor
Unlike Upstream, don't create a separate FriendSignal and ObjectBlockedSignal per text editor we need it in!!
Unlike Upstream, always show a Select All option
This fixes blue on blue in notices for the classic skin,
while it does affect other skins, it's not very noticeable.
Actually this change kinda makes links match skins better overall...
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!
Conflicts:
indra/llappearance/llwearable.h
indra/llui/llcombobox.h
indra/newview/jcfloaterareasearch.cpp
indra/newview/jcfloaterareasearch.h
indra/newview/llpanelgrouproles.cpp
indra/newview/llpanelgrouproles.h
indra/newview/llviewermenu.cpp - Plugged in new MenuFloaterDict for AssetBlacklist and SoundExplorer in menu_viewer.xml and removed the old listeners for them.
indra/newview/skins/default/xui/es/floater_inventory.xml
Compile Fixes:
indra/llcommon/llstl.h - error: expected nested-name-specifier before ‘const’
indra/llui/llmultisliderctrl.cpp:283:12: error: ‘caller’ was not declared in this scope
indra/llui/lltexteditor.cpp
- error: operands to ?: have different types ‘const LLPointer<LLTextSegment>’ and ‘long int’
- error: passing ‘const LLPointer<LLTextSegment>’ as ‘this’ argument of ‘LLPointer<Type>& LLPointer<Type>::operator=(const LLPointer<Type>&) [with Type = LLTextSegment]’ discards qualifiers
indra/newview/llfloaterpermissionsmgr.cpp - Silly Shyotl, boost bind, not std bind.
indra/newview/llfloaterproperties.* - error: ‘LLInstanceTracker<LLFloaterProperties, LLUUID>’ is an inaccessible base of ‘LLFloaterProperties’
indra/newview/llgivemoney.cpp - Again, boost::ref, not std::ref
indra/newview/llpreviewscript.cpp - no known conversion for argument 1 from ‘std::vector<const LLPointer<LLTextSegment> >’ to ‘std::vector<LLPointer<LLTextSegment> >&
-Added ui-local transformation matrix.
-Gutted legacy commitcallbacks throughout ui widget ctors.
-Created filter_editor ui widget which issues commit on keypress
-search_editor commits on focus loss/enter press
-search_editor and filter_editor now have a built in 'x' button to clear text.
-LLComboBox::setPrearrangeCallback now uses boost::function
-LLComboBox::setTextEntryCallback now uses boost::function
-LLLineEditor::setKeystrokeCallback now uses boost::function
-LLLineEditor::setPrevalidate now uses boost::function
-LLPanel::childSetKeystrokeCallback removed
-LLPanel::childSetPrevalidate removed
-LLPanel::childSetActionTextbox now uses boost::function
-LLTextBox::setClickedCallback now uses boost::function
-LLTextEditor::setKeystrokeCallback added.
-Cleaned up JCFloaterAreaSearch