meow-7.2.2
James Cook 2009-11-05 14:19:00 -08:00
commit 1bf5f1465d
3 changed files with 22 additions and 23 deletions

View File

@ -133,7 +133,7 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>ArrowKeysMoveAvatar</key>
<key>ArrowKeysAlwaysMove</key>
<map>
<key>Comment</key>
<string>While cursor is in chat entry box, arrow keys still control your avatar</string>
@ -142,7 +142,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
<integer>0</integer>
</map>
<key>AskedAboutCrashReports</key>
<map>

View File

@ -2113,31 +2113,30 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask)
// arrow keys move avatar while chatting hack
if (chat_editor && chat_editor->hasFocus())
{
if (chat_editor->getText().empty() || gSavedSettings.getBOOL("ArrowKeysMoveAvatar"))
// If text field is empty, there's no point in trying to move
// cursor with arrow keys, so allow movement
if (chat_editor->getText().empty()
|| gSavedSettings.getBOOL("ArrowKeysAlwaysMove"))
{
switch(key)
// let Control-Up and Control-Down through for chat line history,
if (!(key == KEY_UP && mask == MASK_CONTROL)
&& !(key == KEY_DOWN && mask == MASK_CONTROL))
{
case KEY_LEFT:
case KEY_RIGHT:
case KEY_UP:
// let CTRL UP through for chat line history
if( MASK_CONTROL == mask )
switch(key)
{
case KEY_LEFT:
case KEY_RIGHT:
case KEY_UP:
case KEY_DOWN:
case KEY_PAGE_UP:
case KEY_PAGE_DOWN:
case KEY_HOME:
// when chatbar is empty or ArrowKeysAlwaysMove set,
// pass arrow keys on to avatar...
return FALSE;
default:
break;
}
case KEY_DOWN:
// let CTRL DOWN through for chat line history
if( MASK_CONTROL == mask )
{
break;
}
case KEY_PAGE_UP:
case KEY_PAGE_DOWN:
case KEY_HOME:
// when chatbar is empty or ArrowKeysMoveAvatar set, pass arrow keys on to avatar...
return FALSE;
default:
break;
}
}
}

View File

@ -212,7 +212,7 @@ Avatars:
width="256"
top_pad="0"/>
<check_box
control_name="ArrowKeysMoveAvatar"
control_name="ArrowKeysAlwaysMove"
follows="left|top"
height="20"
label="Arrow keys always move me"