diff --git a/Mage.Client/src/main/java/mage/client/cards/CardEventSource.java b/Mage.Client/src/main/java/mage/client/cards/CardEventSource.java index ffef6ad0f22..7fab2ae91c9 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardEventSource.java +++ b/Mage.Client/src/main/java/mage/client/cards/CardEventSource.java @@ -52,6 +52,10 @@ public class CardEventSource implements EventSource, Serializable { dispatcher.fireEvent(new Event(cardId, message)); } + public void shiftDoubleClick(UUID cardId, String message) { + dispatcher.fireEvent(new Event(cardId, message)); + } + @Override public void clearListeners() { dispatcher.clearListeners(); diff --git a/Mage.Client/src/main/java/mage/client/cards/CardsList.form b/Mage.Client/src/main/java/mage/client/cards/CardsList.form index 918e86575b4..f7a44c79007 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardsList.form +++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.form @@ -27,7 +27,7 @@ - + @@ -35,7 +35,7 @@ - + diff --git a/Mage.Client/src/main/java/mage/client/cards/CardsList.java b/Mage.Client/src/main/java/mage/client/cards/CardsList.java index 8ae8daaeec0..c930ec76c34 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardsList.java +++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.java @@ -314,9 +314,15 @@ public class CardsList extends javax.swing.JPanel implements MouseListener { e.consume(); Object obj = e.getSource(); if (obj instanceof Card) { - cardEventSource.doubleClick(((Card)obj).getCardId(), "double-click"); + if (e.isShiftDown()) + cardEventSource.shiftDoubleClick(((Card)obj).getCardId(), "shift-double-click"); + else + cardEventSource.doubleClick(((Card)obj).getCardId(), "double-click"); } else if (obj instanceof MageCard) { - cardEventSource.doubleClick(((MageCard)obj).getOriginal().getId(), "double-click"); + if (e.isShiftDown()) + cardEventSource.shiftDoubleClick(((MageCard)obj).getOriginal().getId(), "shift-double-click"); + else + cardEventSource.doubleClick(((MageCard)obj).getOriginal().getId(), "double-click"); } } } diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java index fbad20489be..8b0188716a1 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java @@ -187,6 +187,33 @@ public class DeckEditorPanel extends javax.swing.JPanel { } refreshDeck(); } + else if (event.getEventName().equals("shift-double-click") && mode == DeckEditorMode.Constructed) { + for (Card card: deck.getCards()) { + if (card.getId().equals((UUID)event.getSource())) { + deck.getCards().remove(card); + deck.getSideboard().add(card); + break; + } + } + refreshDeck(); + } + } + } + ); + this.deckArea.addSideboardEventListener( + new Listener () { + @Override + public void event(Event event) { + if (event.getEventName().equals("double-click")) { + for (Card card: deck.getSideboard()) { + if (card.getId().equals((UUID)event.getSource())) { + deck.getSideboard().remove(card); + deck.getCards().add(card); + break; + } + } + refreshDeck(); + } } } );