mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2026-06-15 21:31:12 +00:00
Fixing errors when clicking checkboxes
This commit is contained in:
@@ -77,6 +77,7 @@ public class GamepadConfigFrame extends JFrame {
|
|||||||
Mapping mapping = config.get(components[i]);
|
Mapping mapping = config.get(components[i]);
|
||||||
if (mapping == null) {
|
if (mapping == null) {
|
||||||
mapping = config.new Mapping(components[i], false, false);
|
mapping = config.new Mapping(components[i], false, false);
|
||||||
|
config.insertMapping(mapping, null);
|
||||||
}
|
}
|
||||||
Box componentBox = createComponentBox(mapping);
|
Box componentBox = createComponentBox(mapping);
|
||||||
|
|
||||||
@@ -118,10 +119,12 @@ public class GamepadConfigFrame extends JFrame {
|
|||||||
setButtonText(mapButton, config.getMapping(mapping.padComp));
|
setButtonText(mapButton, config.getMapping(mapping.padComp));
|
||||||
|
|
||||||
invertBox.setSelected(mapping.invert);
|
invertBox.setSelected(mapping.invert);
|
||||||
invertBox.addItemListener(createInvertListener());
|
invertBox.addActionListener(createInvertListener());
|
||||||
|
invertBox.setName(mapping.padComp.name());
|
||||||
|
|
||||||
triggerBox.setSelected(mapping.trigger);
|
triggerBox.setSelected(mapping.trigger);
|
||||||
triggerBox.addItemListener(createTriggerListener());
|
triggerBox.addActionListener(createTriggerListener());
|
||||||
|
triggerBox.setName(mapping.padComp.name());
|
||||||
triggerBox.setToolTipText("If this component should act as a trigger. (one-way axis)");
|
triggerBox.setToolTipText("If this component should act as a trigger. (one-way axis)");
|
||||||
|
|
||||||
componentBox.add(Box.createHorizontalStrut(5));
|
componentBox.add(Box.createHorizontalStrut(5));
|
||||||
@@ -143,30 +146,42 @@ public class GamepadConfigFrame extends JFrame {
|
|||||||
/*
|
/*
|
||||||
* Creates the listener for the invert checkbox
|
* Creates the listener for the invert checkbox
|
||||||
*/
|
*/
|
||||||
private ItemListener createInvertListener() {
|
private ActionListener createInvertListener() {
|
||||||
return new ItemListener() {
|
return new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void itemStateChanged(ItemEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
JCheckBox clicked = (JCheckBox)e.getItem();
|
JCheckBox clicked = (JCheckBox)e.getSource();
|
||||||
GamepadComponent padComp = GamepadComponent.valueOf(clicked.getName());
|
GamepadComponent padComp = GamepadComponent.valueOf(clicked.getName());
|
||||||
config.get(padComp).invert = (e.getStateChange() == ItemEvent.SELECTED);
|
Mapping currentMapping = config.get(padComp);
|
||||||
|
if (currentMapping == null) {
|
||||||
|
//this makes more semantic sense to me than using !=
|
||||||
|
clicked.setSelected(!(clicked.isSelected()));
|
||||||
|
} else {
|
||||||
|
currentMapping.invert = (clicked.isSelected());
|
||||||
configChanged = true;
|
configChanged = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Creates the listener for the trigger checkbox
|
* Creates the listener for the trigger checkbox
|
||||||
*/
|
*/
|
||||||
private ItemListener createTriggerListener() {
|
private ActionListener createTriggerListener() {
|
||||||
return new ItemListener() {
|
return new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void itemStateChanged(ItemEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
JCheckBox clicked = (JCheckBox)e.getItem();
|
JCheckBox clicked = (JCheckBox)e.getSource();
|
||||||
GamepadComponent padComp = GamepadComponent.valueOf(clicked.getName());
|
GamepadComponent padComp = GamepadComponent.valueOf(clicked.getName());
|
||||||
config.get(padComp).trigger = (e.getStateChange() == ItemEvent.SELECTED);
|
Mapping currentMapping = config.get(padComp);
|
||||||
|
if (currentMapping == null) {
|
||||||
|
//this makes more semantic sense to me than using !=
|
||||||
|
clicked.setSelected(!(clicked.isSelected()));
|
||||||
|
} else {
|
||||||
|
currentMapping.trigger = (clicked.isSelected());
|
||||||
configChanged = true;
|
configChanged = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user