Backported LL configuration to allow chat bar to take focus on type due to popular demand.

meow-7.2.2
Arrehn 2010-12-18 20:40:20 -05:00
parent 0dc6d76a85
commit b184099a5f
4 changed files with 70 additions and 3 deletions

View File

@ -24,3 +24,4 @@ NonBusyAutoresponse LGPL
V1_Clienttags LGPL
AlwaysShowFriendPerms LGPL
GlobalFriendVisToggle LGPL
IM_IconifiedToolbar LGPL

View File

@ -1626,6 +1626,17 @@
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>LetterKeysFocusChatBar</key>
<map>
<key>Comment</key>
<string>When printable characters keys (possibly with Shift held) are pressed, the chatbar takes focus</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ChatBubbleOpacity</key>
<map>

View File

@ -2265,6 +2265,20 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask)
return TRUE;
}
// If "Pressing letter keys starts local chat" option is selected, we are not in mouselook,
// no view has keyboard focus, this is a printable character key (and no modifier key is
// pressed except shift), then give focus to nearby chat (STORM-560)
if ( gSavedSettings.getS32("LetterKeysFocusChatBar") && !gAgentCamera.cameraMouselook() &&
!keyboard_focus && key < 0x80 && (mask == MASK_NONE || mask == MASK_SHIFT) )
{
LLLineEditor* chat_editor = LLBottomTray::instanceExists() ? LLBottomTray::getInstance()->getNearbyChatBar()->getChatBox() : NULL;
if (chat_editor)
{
// passing NULL here, character will be added later when it is handled by character handler.
LLBottomTray::getInstance()->getNearbyChatBar()->startChat(NULL);
return TRUE;
}
}
// give menus a chance to handle unmodified accelerator keys
if ((gMenuBarView && gMenuBarView->handleAcceleratorKey(key, mask))

View File

@ -117,6 +117,47 @@
name="bubble_text_chat"
width="150" />
<text
type="string"
length="1"
follows="left|top"
height="15"
layout="topleft"
left="30"
name="inworld_typing_rg_label"
top_pad="6"
width="400">
Pressing letter keys:
</text>
<radio_group
control_name="LetterKeysFocusChatBar"
height="16"
layout="topleft"
left="40"
top_pad="0"
name="inworld_typing_preference">
<radio_item
label="Starts local chat"
name="radio_start_chat"
top_delta="20"
layout="topleft"
height="16"
left="0"
value="1"
width="150" />
<radio_item
label="Affects movement (i.e. WASD)"
left_pad="0"
layout="topleft"
top_delta="0"
height="16"
name="radio_move"
value="0"
width="75" />
</radio_group>
<text
name="show_ims_in_label"
follows="left|top"
@ -126,8 +167,7 @@
width="170"
top_pad="14">
Show IMs in:
</text>
</text>
<text
name="requires_restart_label"
follows="left|top"
@ -139,7 +179,8 @@
text_color="White_25"
>
(requires restart)
</text>
</text>
<radio_group
height="16"
layout="topleft"