private void listviewControls_SelectedIndexChanged(object sender, EventArgs e) {
if (listviewControls.SelectedIndices.Count == 1) {
int i = listviewControls.SelectedIndices[0];
{
this.Tag = new object();
{ // command
int j; for (j = 0; j < Interface.CommandInfos.Length; j++) {
if (Interface.CommandInfos[j].Command == Interface.CurrentControls[i].Command) {
comboboxCommand.SelectedIndex = j;
break;
}
} if (j == Interface.CommandInfos.Length) {
comboboxCommand.SelectedIndex = -1;
}
}
// data
if (Interface.CurrentControls[i].Method == Interface.ControlMethod.Keyboard) {
radiobuttonKeyboard.Checked = true;
} else if (Interface.CurrentControls[i].Method == Interface.ControlMethod.Joystick) {
radiobuttonJoystick.Checked = true;
} else {
radiobuttonKeyboard.Checked = false;
radiobuttonJoystick.Checked = false;
}
panelKeyboard.Enabled = radiobuttonKeyboard.Checked;
if (radiobuttonKeyboard.Checked)
{
for (int k = 0; k < Interface.TranslatedKeys.Length; k++)
{
if (Interface.CurrentControls[i].Key == Interface.TranslatedKeys[k].Key)
{
comboboxKeyboardKey.SelectedIndex = k;
break;
}
}
checkboxKeyboardShift.Checked = (Interface.CurrentControls[i].Modifier & Interface.KeyboardModifier.Shift) != 0;
checkboxKeyboardCtrl.Checked = (Interface.CurrentControls[i].Modifier & Interface.KeyboardModifier.Ctrl) != 0;
checkboxKeyboardAlt.Checked = (Interface.CurrentControls[i].Modifier & Interface.KeyboardModifier.Alt) != 0;
} else if (radiobuttonJoystick.Checked) {
labelJoystickAssignmentValue.Text = GetControlDetails(i);
} else {
comboboxKeyboardKey.SelectedIndex = -1;
checkboxKeyboardShift.Checked = false;
checkboxKeyboardCtrl.Checked = false;
checkboxKeyboardAlt.Checked = false;
}
panelJoystick.Enabled = radiobuttonJoystick.Checked;
// finalize
this.Tag = null;
}
buttonControlRemove.Enabled = true;
buttonControlUp.Enabled = i > 0;
buttonControlDown.Enabled = i < Interface.CurrentControls.Length - 1;
groupboxControl.Enabled = true;
} else {
this.Tag = new object();
comboboxCommand.SelectedIndex = -1;
radiobuttonKeyboard.Checked = false;
radiobuttonJoystick.Checked = false;
groupboxControl.Enabled = false;
comboboxKeyboardKey.SelectedIndex = -1;
checkboxKeyboardShift.Checked = false;
checkboxKeyboardCtrl.Checked = false;
checkboxKeyboardAlt.Checked = false;
labelJoystickAssignmentValue.Text = "";
this.Tag = null;
buttonControlRemove.Enabled = false;
buttonControlUp.Enabled = false;
buttonControlDown.Enabled = false;
}
}
private void UpdateControlListElement(ListViewItem Item, int Index, bool ResizeColumns) {