SL-13421 Separated some sitting-exclusive controls
parent
b1f9de4d37
commit
ceea2df596
|
|
@ -2768,32 +2768,34 @@ void LLPanelPreferenceControls::populateControlTable()
|
|||
}
|
||||
addControlTableColumns(filename);
|
||||
|
||||
switch ((LLKeyConflictHandler::ESourceMode)mEditingMode)
|
||||
|
||||
if (mEditingMode == LLKeyConflictHandler::MODE_FIRST_PERSON)
|
||||
{
|
||||
case LLKeyConflictHandler::MODE_FIRST_PERSON:
|
||||
addControlTableRows("control_table_contents_movement.xml");
|
||||
addControlTableSeparator();
|
||||
addControlTableRows("control_table_contents_media.xml");
|
||||
break;
|
||||
case LLKeyConflictHandler::MODE_THIRD_PERSON:
|
||||
case LLKeyConflictHandler::MODE_EDIT_AVATAR:
|
||||
case LLKeyConflictHandler::MODE_SITTING:
|
||||
}
|
||||
// MODE_THIRD_PERSON; MODE_EDIT_AVATAR; MODE_SITTING
|
||||
else if (mEditingMode < LLKeyConflictHandler::MODE_SAVED_SETTINGS)
|
||||
{
|
||||
// In case of 'sitting' mode, movements still apply due to vehicles
|
||||
addControlTableRows("control_table_contents_movement.xml");
|
||||
addControlTableSeparator();
|
||||
|
||||
// contains couple 'sitting' options, might be good idea to recheck
|
||||
// those and move to own group with sitting/spinning icon
|
||||
addControlTableRows("control_table_contents_camera.xml");
|
||||
addControlTableRows("control_table_contents_camera.xml");
|
||||
if (mEditingMode == LLKeyConflictHandler::MODE_SITTING)
|
||||
{
|
||||
addControlTableRows("control_table_contents_camera_sitting.xml");
|
||||
}
|
||||
addControlTableSeparator();
|
||||
|
||||
// Do we need this outside of MODE_EDIT_AVATAR?
|
||||
addControlTableRows("control_table_contents_editing.xml");
|
||||
addControlTableSeparator();
|
||||
|
||||
addControlTableRows("control_table_contents_media.xml");
|
||||
break;
|
||||
default:
|
||||
// 'saved settings' mode doesn't have UI or actual settings yet
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_INFOS() << "Unimplemented mode" << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -294,8 +294,9 @@ void LLKeyConflictHandler::loadFromSettings(const LLViewerInput::KeyMode& keymod
|
|||
LLKeyboard::maskFromString(it->mask, &mask);
|
||||
// Note: it->command is also the name of UI element, howhever xml we are loading from
|
||||
// might not know all the commands, so UI will have to know what to fill by its own
|
||||
// Assumes U32_MAX conflict mask, and is assignable by default,
|
||||
// but assignability might have been overriden by generatePlaceholders.
|
||||
LLKeyConflict &type_data = (*destination)[it->command];
|
||||
type_data.mAssignable = true;
|
||||
type_data.mKeyBind.addKeyData(mouse, key, mask, true);
|
||||
}
|
||||
}
|
||||
|
|
@ -777,12 +778,8 @@ void LLKeyConflictHandler::generatePlaceholders(ESourceMode load_mode)
|
|||
registerTemporaryControl("move_backward");
|
||||
registerTemporaryControl("move_forward_fast");
|
||||
registerTemporaryControl("move_backward_fast");
|
||||
registerTemporaryControl("move_forward_sitting");
|
||||
registerTemporaryControl("move_backward_sitting");
|
||||
registerTemporaryControl("spin_over");
|
||||
registerTemporaryControl("spin_under");
|
||||
registerTemporaryControl("spin_over_sitting");
|
||||
registerTemporaryControl("spin_under_sitting");
|
||||
registerTemporaryControl("pan_up");
|
||||
registerTemporaryControl("pan_down");
|
||||
registerTemporaryControl("pan_left");
|
||||
|
|
@ -791,8 +788,6 @@ void LLKeyConflictHandler::generatePlaceholders(ESourceMode load_mode)
|
|||
registerTemporaryControl("pan_out");
|
||||
registerTemporaryControl("spin_around_ccw");
|
||||
registerTemporaryControl("spin_around_cw");
|
||||
registerTemporaryControl("spin_around_ccw_sitting");
|
||||
registerTemporaryControl("spin_around_cw_sitting");
|
||||
|
||||
// control_table_contents_editing.xml
|
||||
registerTemporaryControl("edit_avatar_spin_ccw");
|
||||
|
|
@ -802,6 +797,16 @@ void LLKeyConflictHandler::generatePlaceholders(ESourceMode load_mode)
|
|||
registerTemporaryControl("edit_avatar_move_forward");
|
||||
registerTemporaryControl("edit_avatar_move_backward");
|
||||
}
|
||||
|
||||
if (load_mode != MODE_SITTING)
|
||||
{
|
||||
registerTemporaryControl("move_forward_sitting");
|
||||
registerTemporaryControl("move_backward_sitting");
|
||||
registerTemporaryControl("spin_over_sitting");
|
||||
registerTemporaryControl("spin_under_sitting");
|
||||
registerTemporaryControl("spin_around_ccw_sitting");
|
||||
registerTemporaryControl("spin_around_cw_sitting");
|
||||
}
|
||||
}
|
||||
|
||||
bool LLKeyConflictHandler::removeConflicts(const LLKeyData &data, const U32 &conlict_mask)
|
||||
|
|
@ -853,11 +858,11 @@ void LLKeyConflictHandler::registerTemporaryControl(const std::string &control_n
|
|||
type_data->mKeyBind.addKeyData(mouse, key, mask, false);
|
||||
}
|
||||
|
||||
void LLKeyConflictHandler::registerTemporaryControl(const std::string &control_name)
|
||||
void LLKeyConflictHandler::registerTemporaryControl(const std::string &control_name, U32 conflict_mask)
|
||||
{
|
||||
LLKeyConflict *type_data = &mControlsMap[control_name];
|
||||
type_data->mAssignable = false;
|
||||
type_data->mConflictMask = 0;
|
||||
type_data->mConflictMask = conflict_mask;
|
||||
}
|
||||
|
||||
bool LLKeyConflictHandler::clearUnsavedChanges()
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ private:
|
|||
|
||||
// at the moment these kind of control is not savable, but takes part in conflict resolution
|
||||
void registerTemporaryControl(const std::string &control_name, EMouseClickType mouse_ind, KEY key, MASK mask, U32 conflict_mask);
|
||||
void registerTemporaryControl(const std::string &control_name);
|
||||
void registerTemporaryControl(const std::string &control_name, U32 conflict_mask = 0);
|
||||
|
||||
typedef std::map<std::string, LLKeyConflict> control_map_t;
|
||||
void loadFromSettings(const LLViewerInput::KeyMode& keymode, control_map_t *destination);
|
||||
|
|
|
|||
|
|
@ -73,26 +73,6 @@
|
|||
name="lst_action"
|
||||
value="Camera Backward Fast" />
|
||||
</rows>
|
||||
<rows
|
||||
name="move_forward_sitting"
|
||||
value="move_forward_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Forward Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="move_backward_sitting"
|
||||
value="move_backward_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Backward Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_over"
|
||||
value="spin_over">
|
||||
|
|
@ -113,26 +93,6 @@
|
|||
name="lst_action"
|
||||
value="Camera Spin Under" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_over_sitting"
|
||||
value="spin_over_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Spin Over Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_under_sitting"
|
||||
value="spin_under_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Spin Under Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="pan_up"
|
||||
value="pan_up">
|
||||
|
|
@ -215,26 +175,4 @@
|
|||
tool_tip="Camera spin around clockwise"
|
||||
value="Clockwise" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_around_ccw_sitting"
|
||||
value="spin_around_ccw_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
tool_tip="Camera spin around counterclockwise sitting"
|
||||
value="Counterclockwise Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_around_cw_sitting"
|
||||
value="spin_around_cw_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
tool_tip="Camera spin around clockwise sitting"
|
||||
value="Clockwise Sitting" />
|
||||
</rows>
|
||||
</contents>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<contents>
|
||||
<rows
|
||||
name="move_forward_sitting"
|
||||
value="move_forward_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Forward Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="move_backward_sitting"
|
||||
value="move_backward_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Backward Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_over_sitting"
|
||||
value="spin_over_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Spin Over Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_under_sitting"
|
||||
value="spin_under_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
value="Camera Spin Under Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_around_ccw_sitting"
|
||||
value="spin_around_ccw_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
tool_tip="Camera spin around counterclockwise sitting"
|
||||
value="Counterclockwise Sitting" />
|
||||
</rows>
|
||||
<rows
|
||||
name="spin_around_cw_sitting"
|
||||
value="spin_around_cw_sitting">
|
||||
<columns
|
||||
column="lst_action"
|
||||
font="SansSerif"
|
||||
halign="left"
|
||||
name="lst_action"
|
||||
tool_tip="Camera spin around clockwise sitting"
|
||||
value="Clockwise Sitting" />
|
||||
</rows>
|
||||
</contents>
|
||||
Loading…
Reference in New Issue