From c115f01edfa51181c13ae4c065d4478de3664e59 Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 7 Dec 2013 18:52:10 +0000 Subject: [PATCH] Fix so OK button in DualListBox gets focus when it becomes enabled --- .../src/main/java/forge/gui/DualListBox.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/forge-gui/src/main/java/forge/gui/DualListBox.java b/forge-gui/src/main/java/forge/gui/DualListBox.java index dad993f60ba..9cdd4196e37 100644 --- a/forge-gui/src/main/java/forge/gui/DualListBox.java +++ b/forge-gui/src/main/java/forge/gui/DualListBox.java @@ -92,9 +92,6 @@ public class DualListBox extends FPanel { clearSourceSelected(); sourceList.validate(); _setButtonState(); - if (okButton.isEnabled()) { - okButton.requestFocusInWindow(); - } } }; @@ -234,7 +231,8 @@ public class DualListBox extends FPanel { case KeyEvent.VK_ENTER: if (okButton.isEnabled()) { okButton.doClick(); - } else if (autoButton.isEnabled()) { + } + else if (autoButton.isEnabled()) { autoButton.doClick(); } break; @@ -360,7 +358,9 @@ public class DualListBox extends FPanel { list.setSelectedIndex(cardIdx); showCard = true; showSelectedCard(model.getElementAt(cardIdx)); - list.requestFocusInWindow(); + if (!okButton.isEnabled()) { + list.requestFocusInWindow(); + } } }); } @@ -412,7 +412,6 @@ public class DualListBox extends FPanel { addDestinationElements(sourceListModel); clearSourceListModel(); _setButtonState(); - okButton.requestFocusInWindow(); } private void _removeAll() { @@ -434,7 +433,8 @@ public class DualListBox extends FPanel { } if (targetRemainingSources < 1 && !sideboardingMode) { autoButton.setEnabled(sourceListModel.getSize() != targetRemainingSources); - } else { + } + else { autoButton.setEnabled(false); } @@ -442,6 +442,10 @@ public class DualListBox extends FPanel { removeAllButton.setEnabled(destListModel.getSize() != 0); addButton.setEnabled(sourceListModel.getSize() != 0); addAllButton.setEnabled(sourceListModel.getSize() != 0); + + if (okButton.isEnabled()) { + okButton.requestFocusInWindow(); + } } private void _finish() {