From 19bd6cc381fb1f6d743fe42d394e94507da8d884 Mon Sep 17 00:00:00 2001 From: Fizztastic Date: Mon, 6 Jul 2015 19:10:13 -0400 Subject: [PATCH 1/2] Adds Move To... Hand context menu for cards --- cockatrice/src/player.cpp | 18 ++++++++++++++++++ cockatrice/src/player.h | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index bd0428da..3a1d49ab 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -415,11 +415,14 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, TabGame *_pare aMoveToBottomLibrary = new QAction(this); aMoveToBottomLibrary->setData(cmMoveToBottomLibrary); aMoveToGraveyard = new QAction(this); + aMoveToHand = new QAction(this); + aMoveToHand->setData(cmMoveToHand); aMoveToGraveyard->setData(cmMoveToGraveyard); aMoveToExile = new QAction(this); aMoveToExile->setData(cmMoveToExile); connect(aMoveToTopLibrary, SIGNAL(triggered()), this, SLOT(cardMenuAction())); connect(aMoveToBottomLibrary, SIGNAL(triggered()), this, SLOT(cardMenuAction())); + connect(aMoveToHand, SIGNAL(triggered()), this, SLOT(cardMenuAction())); connect(aMoveToGraveyard, SIGNAL(triggered()), this, SLOT(cardMenuAction())); connect(aMoveToExile, SIGNAL(triggered()), this, SLOT(cardMenuAction())); @@ -720,6 +723,7 @@ void Player::retranslateUi() aSetCounter[i]->setText(tr("&Set counters (%1)...").arg(counterColors[i])); aMoveToTopLibrary->setText(tr("&Top of library")); aMoveToBottomLibrary->setText(tr("&Bottom of library")); + aMoveToHand->setText(tr("&Hand")); aMoveToGraveyard->setText(tr("&Graveyard")); aMoveToGraveyard->setShortcut(QKeySequence("Ctrl+Del")); aMoveToExile->setText(tr("&Exile")); @@ -1959,6 +1963,18 @@ void Player::cardMenuAction() commandList.append(cmd); break; } + case cmMoveToHand: { + Command_MoveCard *cmd = new Command_MoveCard; + cmd->set_start_player_id(startPlayerId); + cmd->set_start_zone(startZone.toStdString()); + cmd->mutable_cards_to_move()->CopyFrom(idList); + cmd->set_target_player_id(getId()); + cmd->set_target_zone("hand"); + cmd->set_x(0); + cmd->set_y(0); + commandList.append(cmd); + break; + } case cmMoveToGraveyard: { Command_MoveCard *cmd = new Command_MoveCard; cmd->set_start_player_id(startPlayerId); @@ -2248,6 +2264,8 @@ void Player::updateCardMenu(CardItem *card) moveMenu->addAction(aMoveToTopLibrary); moveMenu->addAction(aMoveToBottomLibrary); moveMenu->addSeparator(); + moveMenu->addAction(aMoveToHand); + moveMenu->addSeparator(); moveMenu->addAction(aMoveToGraveyard); moveMenu->addSeparator(); moveMenu->addAction(aMoveToExile); diff --git a/cockatrice/src/player.h b/cockatrice/src/player.h index 9c51e1f6..f1f94f93 100644 --- a/cockatrice/src/player.h +++ b/cockatrice/src/player.h @@ -179,7 +179,7 @@ private: QAction *aPlay, *aPlayFacedown, *aHide, *aTap, *aUntap, *aDoesntUntap, *aAttach, *aUnattach, *aDrawArrow, *aSetPT, *aIncP, *aDecP, *aIncT, *aDecT, *aIncPT, *aDecPT, *aSetAnnotation, *aFlip, *aPeek, *aClone, - *aMoveToTopLibrary, *aMoveToBottomLibrary, *aMoveToGraveyard, *aMoveToExile; + *aMoveToTopLibrary, *aMoveToBottomLibrary, *aMoveToHand, *aMoveToGraveyard, *aMoveToExile; bool shortcutsActive; int defaultNumberTopCards; @@ -241,7 +241,7 @@ private: void eventChangeZoneProperties(const Event_ChangeZoneProperties &event); public: static const int counterAreaWidth = 55; - enum CardMenuActionType { cmTap, cmUntap, cmDoesntUntap, cmFlip, cmPeek, cmClone, cmMoveToTopLibrary, cmMoveToBottomLibrary, cmMoveToGraveyard, cmMoveToExile }; + enum CardMenuActionType { cmTap, cmUntap, cmDoesntUntap, cmFlip, cmPeek, cmClone, cmMoveToTopLibrary, cmMoveToBottomLibrary, cmMoveToGraveyard, cmMoveToExile, cmMoveToHand }; enum { Type = typeOther }; int type() const { return Type; } From 680332a708e09a2caf76f2ab2540e4f0a0b98767 Mon Sep 17 00:00:00 2001 From: Fizztastic Date: Mon, 6 Jul 2015 19:18:27 -0400 Subject: [PATCH 2/2] keep consistent ordering --- cockatrice/src/player.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cockatrice/src/player.h b/cockatrice/src/player.h index f1f94f93..45baa7ae 100644 --- a/cockatrice/src/player.h +++ b/cockatrice/src/player.h @@ -241,7 +241,7 @@ private: void eventChangeZoneProperties(const Event_ChangeZoneProperties &event); public: static const int counterAreaWidth = 55; - enum CardMenuActionType { cmTap, cmUntap, cmDoesntUntap, cmFlip, cmPeek, cmClone, cmMoveToTopLibrary, cmMoveToBottomLibrary, cmMoveToGraveyard, cmMoveToExile, cmMoveToHand }; + enum CardMenuActionType { cmTap, cmUntap, cmDoesntUntap, cmFlip, cmPeek, cmClone, cmMoveToTopLibrary, cmMoveToBottomLibrary, cmMoveToHand, cmMoveToGraveyard, cmMoveToExile }; enum { Type = typeOther }; int type() const { return Type; }