diff --git a/src/main/java/forge/gui/DualListBox.java b/src/main/java/forge/gui/DualListBox.java index 37654218d70..6780668219d 100644 --- a/src/main/java/forge/gui/DualListBox.java +++ b/src/main/java/forge/gui/DualListBox.java @@ -19,6 +19,8 @@ import javax.swing.event.ListDataListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import com.google.common.base.Function; + import forge.Card; import forge.card.spellability.SpellAbility; import forge.gui.match.CMatchUI; @@ -306,12 +308,27 @@ public class DualListBox extends FPanel { onRemove.run(); } }; + + final Function onEnter = new Function() { + @Override + public Void apply (KeyEvent e) { + if (e.getKeyCode() == 10) { + if (e.isControlDown() || e.isMetaDown()) { + autoButton.doClick(); + } else { + okButton.doClick(); + } + } + + return null; + } + }; sourceList.addKeyListener(new KeyAdapter() { @Override public void keyPressed(final KeyEvent e) { if (e.getKeyChar() == ' ') { onAdd.run(); } - else if (e.getKeyCode() == 10) { okButton.doClick(); } + else { onEnter.apply(e); } } }); @@ -319,7 +336,7 @@ public class DualListBox extends FPanel { @Override public void keyPressed(final KeyEvent e) { if (e.getKeyChar() == ' ') { onRemove.run(); } - else if (e.getKeyCode() == 10) { okButton.doClick(); } + else { onEnter.apply(e); } } }); diff --git a/src/main/java/forge/gui/match/ViewWinLose.java b/src/main/java/forge/gui/match/ViewWinLose.java index 92ab4d97295..3cf3267847f 100644 --- a/src/main/java/forge/gui/match/ViewWinLose.java +++ b/src/main/java/forge/gui/match/ViewWinLose.java @@ -151,7 +151,6 @@ public class ViewWinLose { final JPanel pnlLog = new JPanel(new MigLayout("insets 0, wrap, ax center")); final FScrollPane scrLog = new FScrollPane(txtLog); - scrLog.getViewport().setViewPosition(new Point(0, 0)); scrLog.setBorder(null); pnlLog.setOpaque(false); @@ -168,6 +167,7 @@ public class ViewWinLose { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { + scrLog.getViewport().setViewPosition(new Point(0, 0)); focusButton.requestFocusInWindow(); } });