Added a check in LLTextBase::drawSelectionBackground() to keep it from sending degenerate rectangles to gl_rect_2d(). This seems to be what was causing the GL state to go bad.
Reviewed by Richard at http://codereview.lindenlab.com/534001
Added an optional bool parameter "hit_past_end_of_line" to LLTextBase:: getDocIndexFromLocalCoord() and getSegmentAtLocalPos(). Default is true, which gives the old behavior. If false, clicks past the end-of-line won't map to the last segment on the line.
Made LLNormalTextSegment::handleHover(), handleRightMouseDown(), handleMouseDown(), and handleMouseUp() call getSegmentAtLocalPos() in this new mode before processing URL actions, and only do the processing if it returns the same segment.
Reviewed by Richard.
Suppresses rendering of text in LLNormalTextSegment that represent an icon,
properly computes vertical spacing based on font height, and adds padding
to the right of the icon.
Suppresses rendering of text in LLNormalTextSegment that represent an icon,
properly computes vertical spacing based on font height, and adds padding
to the right of the icon.
(transplanted from 33be702e47c359ccaeb47f251e10753fd173cc09)
This should fix the inefficiencies in the append path that made viewer FPS drop severely when addinglarge amounts of text to the nearby chat floater.
Resizing the floater with a huge amount of text in it is still pretty bad, but fixing that will require some bigger architectural changes.
Changed LLTextBase::needsReflow() to take an offset at which to start reflow processing.
Changed most needsReflow() calls in LLTextBase to supply a proper index.
Changed LLTextBase::reflow() to use the reflow index maintained by needsReflow().
Removed all needsReflow() calls from LLTextEditor (the only way for it to manipulate the text is through functions in LLTextBase that already manage reflowing internally).
Removed LLTextEditor::replaceUrlLabel(), since it was identical to the inherited version LLTextBase::replaceUrlLabel().
Reviewed by Richard.
Removed some unnecessary string copies in LLTextBase and LLNormalTextSegment by changing getWText() to return const LLWString& (instead of LLWString), and storing the result in a const LLWString& instead of an LLWString in places where the string doesn't need to be modified.
Made LLTextViewModel::getDisplay() also return const LLWString& instead of LLWString.
Removed a couple of unused local string variables in LLTextBase (the compiler flagged these after converting the local copies to const LLWString&).
The new <nolink>URL</nolink> provides a more flexible solution that
can be specified in XUI (as we now do to disabled hyperlinking for the
sim hostname in the About floater).
We are running into a bunch of places where we don't want to allow
hyperlinking of URLs like secondlife.com in text boxes. I've therefore
added a new type of URL regex that disables URL hyperlinking. Simply
enclose the URL in a <nolink> tag, e.g.:
<nolink>secondlife.com</nolink>
Added support for specifying a black list of URLs on a per-widget
basis. URLs on this black list will not be hyperlinked in the text
widget. The About dialog adds the sim hostname to this black list.
Add 1 pixel of padding to clipping rect computation. I think there is a deeper
problem in the font width computation code, but I don't know where. Opened EXT-3112
for the deeper issue. Reviewed with Leyla.
floaters can now overlap sidetray
fixed text selection background color to be inverse of text fg color
EXT-2713 Script editor automatically scrolls to the top of script text when text is longer than the window.
reviewed by James
-- Improved calculating of the LLTextBase::mContentsRect to take into account "left" coordinate.
Previous implementation just ignored it.
--HG--
branch : product-engine
removed non-localized, invisible labels from scrollbar and tab container arrows
EXT-1626 - there is text overlaping in group info mini inspector
reviewed by James
SLurls to the LLUrlRegistry. These are now displayed with the more
human-readable label of "Show Map for XXXX" and sport a context menu
with various operations.
I also added "Show on Map" options to the context menus for other
location-based SLurls.
I also internationalized the text for "Teleport to" and the new "Show
Map for" strings.
EXT-2011 titles of IM sessions aren't aligned to center
EXT-3025 Pick's description overlaps picks name
also moved tool tip param default to tool_tip.xml
also made default param<const LLFontGL*> be SansSerif
reviewed by Leyla
llfontgl::Addchar now called consistently when requesting font metrics
no longer possible to have font glyph info without rendered font
EXT-1294 - LLExpandableTextBox: wrong ellipses
reviewed by James and Mani
combined clip and scroll attributes of text editors and text boxes...if you want to clip text, you need to introduce a scrollbar
moved clear to LLTextEditor so that text boxes won't empty out when calling LLPanel::clearCtrls()
EXT-1354 - added optional wrapping to LLTooltips...inspector tooltips don't wrap, everything else does
added LLFastTimer::reset call on application init to prime timers for pre-login timing
fixed tooltips positioning incorrectly due to mis-sized tooltipview
eliminated hide_scrollbar param for text editors
reviewed by Leyla
fixed some textbox and text editor layout problems (getWidth called with wrong index)
EXT-1302 - rewrite LLExpandableTextBox to use new LLTextBase functionality (using custom LLExpanderSegment)
reviewed by James
Resolved conflicts in lltexteditor.cpp, llchatitemscontainerctrl.cpp, llchatmsgbox.cpp, llfloaterbuycurrency.cpp, llnearbychat.cpp, floater_buy_currency.xml, and ru/strings.xml
Merging revisions 134925-135157 of svn+ssh://svn.lindenlab.com/svn/linden/branches/gooey/gooey-4 into C:\source\viewer-2.0.0-3, respecting ancestry
EXT-877 There is no tooltip with a date for Time indicator in Nav bar
EXT-860 Crosshairs and "Press ESC to..." warning are dislocated in mouselook mode when UI Size is not exactly set to 1.00 (Menu Me -> Preferences-> Graphics)
EXT-783 Script editor inserts text twice when using the editors paste, or choosing LSL elements from the pull-down list.
EXT-764 mis-location of cursor in edit script panel (fixed cursor width)
EXT-658 Inventory window's "Fetched Items" needs spacing
reviewed by James
This didn't work on Windows because wchar_t is 2 bytes on that
platform, not 4 bytes (whereas llwchar is 4 bytes everywhere).
Boost's regex methods need to work on wchar_t, but I believe
that using a UTF-16 string would still be prone to crashing on
Windows as UTF-16 is still a variable-length encoding. Besides,
trying to compile a UTF-16 solution generates weird link errors.
Instead, I'm going to fix this problem a different way. And
I'm starting by reverting the previous attempt. Thanks Win32.
work on an LLWString instead of a std::string, so that we don't have
to worry about character offsets for variable-length-encoded UTF-8
strings.
This was causing crashes whenever we would try to show a textbox with
a URL and foreign characters (> 1 byte chars). Damn, I suck!
Viewer 2.0 (viewer-2.0.0-3). This provides support for clickable Urls
in text editors and textboxes, with right-click context menus,
tooltips, and alternate link labels. This includes alert boxes, the
login progress window, local chat and IM interfaces, etc. As well as
context menus for avatars and groups in list widgets. Includes fixes
for the following individual JIRAs:
DEV-8763 VWR-10636: Hyperlinks in alert dialogs should be selectable (clickable)!
DEV-38829 EXT-742: Remove LLLink class
DEV-35459 VWR-14679: SLURLs and teleport Links not parsed properly
DEV-19842 VWR-8773: Closing parenthesis ")" breaks urls
DEV-21577 VWR-9405: In-world SLURLs containing "(" or ")" are not treated as a hyperlink in chat
DEV-37652 SEC-435: Object Chat/IMs are untraceable (VWR-2388) Fix has left flaw
DEV-10353: URLs in chat log terminated incorrectly when newline in chat
DEV-2925: In chat history, use a teleport hyperlink as source name for object IMs
DEV-36192: Need a way to copy Avatar names and Group names
DEV-2926: Allow viewer hyperlinks to have different text than the actual url
DEV-27253: Add easy way to copy URLs from viewer chat
DEV-38274: Make About Second Life window use new Url hyperlinking features
DEV-39076: No url support in Text Editors
DEV-7476 VWR-2172: Add hyperlinks to chat console for easier access
DEV-7475: Add hyperlinks to notecards!
DEV-35375 EXT-128: HTTPS urls aren't loaded in the internal browser by click
Master JIRA issues: DEV-32819, DEV-323820, DEV-7474
Testing performed against QAR-1789
svn merge -r 131623:131889 svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-2.0.0-slurl-3
svn merge -r 131978:132515 svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-2.0.0-slurl-3