Added ability to set max length in line editors by characters in addition to bytes
left other widgets (comboboxes/spinners) using the bytes, but it can easily be changed over
reviewed by Richard
Reason: LLSLURL constructor failed to determine invalid SLURLs (see EXT-8335).
It's late to try fixing it, so I introduced a workaround.
By the way, fixed a regression with SLURLs not being shown unescaped in the location input.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/726/
--HG--
branch : product-engine
Changes:
- Set gEditMenuHandler to the input entry whenever it's focused, so that it can handle the Ctrl+V shortcut.
- Now pasting text into the input field triggers rebuilding the dropdown matches list, as if the user has typed the text.
Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/691/
--HG--
branch : product-engine
Added LLButton::setImagePressed(), there was no way to set pressed image at run-time. The only place where pressed image is initialized was LLButton constructor.
Replaced Maturity icon with button to simplify handling clicks. Icon does not provide click callback and we would need to handle mouse up/down events and track clicked widget.
Added icon for Moderate regions.
Did not find maturity help topic, added a "TODO".
Reviewed by Sergey Litovchuk - https://codereview.productengine.com/secondlife/r/243/
--HG--
branch : product-engine
Includes: DEV-45800, DEV-45803 - Grid Manager
DEV-45804 - SLURL refactor
DEV-45801 - Single username field (for Identity Evolution and SLE Ldap)
Also,
Includes Certificate Management code allowing the viewer to connect to
grids not signed by a well know key (just like any web browser). Also
contains secure storage for things like passwords.
The security/certificate code is modular with the intention of adding modules
to directly use the operating system facilities for crypto if available.
(that's much more secure than we'll ever be)
Also, refactor of voice to modularize it, and add a diamondware voice module.
CR: Aimee, James, Lynx, Mani, Karina and a list of thousands
I made it about a year and a half ago; Zero found it while reading code. I had added a return value to LLSD::insert(), but a) did it wrong, and b) broke the STL-like semantics of insert(). So I've put insert() back to returning void and created LLSD::with(), which does what my earlier insert() did. The compiler then caught all the cases where insert()'s return value were being used, and I changed those to use with() instead.