Fix so OK button in DualListBox gets focus when it becomes enabled

This commit is contained in:
drdev
2013-12-07 18:52:10 +00:00
parent 8fd6bbef3b
commit c115f01edf

View File

@@ -92,9 +92,6 @@ public class DualListBox<T> extends FPanel {
clearSourceSelected(); clearSourceSelected();
sourceList.validate(); sourceList.validate();
_setButtonState(); _setButtonState();
if (okButton.isEnabled()) {
okButton.requestFocusInWindow();
}
} }
}; };
@@ -234,7 +231,8 @@ public class DualListBox<T> extends FPanel {
case KeyEvent.VK_ENTER: case KeyEvent.VK_ENTER:
if (okButton.isEnabled()) { if (okButton.isEnabled()) {
okButton.doClick(); okButton.doClick();
} else if (autoButton.isEnabled()) { }
else if (autoButton.isEnabled()) {
autoButton.doClick(); autoButton.doClick();
} }
break; break;
@@ -360,7 +358,9 @@ public class DualListBox<T> extends FPanel {
list.setSelectedIndex(cardIdx); list.setSelectedIndex(cardIdx);
showCard = true; showCard = true;
showSelectedCard(model.getElementAt(cardIdx)); showSelectedCard(model.getElementAt(cardIdx));
list.requestFocusInWindow(); if (!okButton.isEnabled()) {
list.requestFocusInWindow();
}
} }
}); });
} }
@@ -412,7 +412,6 @@ public class DualListBox<T> extends FPanel {
addDestinationElements(sourceListModel); addDestinationElements(sourceListModel);
clearSourceListModel(); clearSourceListModel();
_setButtonState(); _setButtonState();
okButton.requestFocusInWindow();
} }
private void _removeAll() { private void _removeAll() {
@@ -434,7 +433,8 @@ public class DualListBox<T> extends FPanel {
} }
if (targetRemainingSources < 1 && !sideboardingMode) { if (targetRemainingSources < 1 && !sideboardingMode) {
autoButton.setEnabled(sourceListModel.getSize() != targetRemainingSources); autoButton.setEnabled(sourceListModel.getSize() != targetRemainingSources);
} else { }
else {
autoButton.setEnabled(false); autoButton.setEnabled(false);
} }
@@ -442,6 +442,10 @@ public class DualListBox<T> extends FPanel {
removeAllButton.setEnabled(destListModel.getSize() != 0); removeAllButton.setEnabled(destListModel.getSize() != 0);
addButton.setEnabled(sourceListModel.getSize() != 0); addButton.setEnabled(sourceListModel.getSize() != 0);
addAllButton.setEnabled(sourceListModel.getSize() != 0); addAllButton.setEnabled(sourceListModel.getSize() != 0);
if (okButton.isEnabled()) {
okButton.requestFocusInWindow();
}
} }
private void _finish() { private void _finish() {