
|
If you were logged in you would be able to see more operations.
|
|
|
| Source Version: |
patch generated against FL-1.13.3.58390
|
| Linden Lab Issue ID: |
SL-41454
|
| Patch attached: |
Patch attached
|
|
I've attached a patch to add a new entry to the Tools menu: a toggle switch for the "Edit Linked Parts" behavior (allowing the user to select and edit individual prims from a linked object). This allows the exciting possibility of binding a keyboard shortcut to this oft-used building feature! (For my own use, I bound it to the semicolor key, a personally convenient location with the keyboard layout I use. In the patch, I have left it unbound.)
In the process of adding the menu entry, I changed the control name (setting) used to store the toggle state of that behavior:
- Previously, it was the "SelectLinkedSet" control. When this was true, you would select the entire linked object, not it's parts. So, the state of this control was always the opposite of the state of the "Edit Linked Parts" checkbox.
- Now, it is the "EditLinkedParts" control. The state of the control directly reflects the state of the checkbox.
I manually replaced all instances of SelectLinkedSet with EditLinkedParts throughout the client code, adjusting the code to take into account the semantic difference. I doubt there are any references to SelectLinkedSet in the server portion (since it's a client-specific feature), but if so, they should be changed on Linden Lab's end.
I also duplicated the selection-promotion/-demotion code for the Tools floater (llfloatertools.cpp) into the viewer menus (llviewermenu.cpp). That code modifies the selection when toggling EditLinkedParts: select the entire object when promoting the selection (disabling ELP), or select the individual parts when demoting (enabling ELP). Without this, the behavior of the new menu item wouldn't be consistent with the behavior of the checkbox in the Tools floater. There may be a cleaner way than copying code from one file into the other; perhaps calling the original function from the other file.
One last note: I've only updated the en-us versions of menu_viewer.xml and floater_tools.xml (for my own use). Other localizations still need to be updated to include the new menu item, and to use the correct control name!
|
|
Description
|
I've attached a patch to add a new entry to the Tools menu: a toggle switch for the "Edit Linked Parts" behavior (allowing the user to select and edit individual prims from a linked object). This allows the exciting possibility of binding a keyboard shortcut to this oft-used building feature! (For my own use, I bound it to the semicolor key, a personally convenient location with the keyboard layout I use. In the patch, I have left it unbound.)
In the process of adding the menu entry, I changed the control name (setting) used to store the toggle state of that behavior:
- Previously, it was the "SelectLinkedSet" control. When this was true, you would select the entire linked object, not it's parts. So, the state of this control was always the opposite of the state of the "Edit Linked Parts" checkbox.
- Now, it is the "EditLinkedParts" control. The state of the control directly reflects the state of the checkbox.
I manually replaced all instances of SelectLinkedSet with EditLinkedParts throughout the client code, adjusting the code to take into account the semantic difference. I doubt there are any references to SelectLinkedSet in the server portion (since it's a client-specific feature), but if so, they should be changed on Linden Lab's end.
I also duplicated the selection-promotion/-demotion code for the Tools floater (llfloatertools.cpp) into the viewer menus (llviewermenu.cpp). That code modifies the selection when toggling EditLinkedParts: select the entire object when promoting the selection (disabling ELP), or select the individual parts when demoting (enabling ELP). Without this, the behavior of the new menu item wouldn't be consistent with the behavior of the checkbox in the Tools floater. There may be a cleaner way than copying code from one file into the other; perhaps calling the original function from the other file.
One last note: I've only updated the en-us versions of menu_viewer.xml and floater_tools.xml (for my own use). Other localizations still need to be updated to include the new menu item, and to use the correct control name! |
Show » |
|