From 69b2ddc1b420ea6e1b60e2d375a4572851267f30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Wed, 10 Sep 2025 09:28:24 +0200 Subject: [PATCH] Change message_log_widget.cpp slots to take CardZoneLogic parameters as emitted by PlayerEventHandler. Took 7 minutes Took 14 seconds --- cockatrice/src/server/message_log_widget.cpp | 91 ++++++++++---------- cockatrice/src/server/message_log_widget.h | 21 +++-- 2 files changed, 59 insertions(+), 53 deletions(-) diff --git a/cockatrice/src/server/message_log_widget.cpp b/cockatrice/src/server/message_log_widget.cpp index b84454383..68e20bceb 100644 --- a/cockatrice/src/server/message_log_widget.cpp +++ b/cockatrice/src/server/message_log_widget.cpp @@ -32,11 +32,12 @@ static QString cardLink(const QString &cardName) return QString("%2").arg(cardName).arg(cardName); } -QPair MessageLogWidget::getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) +QPair +MessageLogWidget::getFromStr(CardZoneLogic *zone, QString cardName, int position, bool ownerChange) { bool cardNameContainsStartZone = false; QString fromStr; - QString zoneName = zone->getLogic()->getName(); + QString zoneName = zone->getName(); if (zoneName == TABLE_ZONE_NAME) { fromStr = tr(" from play"); @@ -50,8 +51,7 @@ QPair MessageLogWidget::getFromStr(CardZone *zone, QString car if (position == 0) { if (cardName.isEmpty()) { if (ownerChange) { - cardName = tr("the top card of %1's library") - .arg(zone->getLogic()->getPlayer()->getPlayerInfo()->getName()); + cardName = tr("the top card of %1's library").arg(zone->getPlayer()->getPlayerInfo()->getName()); } else { cardName = tr("the top card of their library"); } @@ -59,16 +59,16 @@ QPair MessageLogWidget::getFromStr(CardZone *zone, QString car } else { if (ownerChange) { fromStr = tr(" from the top of %1's library") - .arg(zone->getLogic()->getPlayer()->getPlayerInfo()->getName()); + .arg(zone->getPlayer()->getPlayerInfo()->getName()); } else { fromStr = tr(" from the top of their library"); } } - } else if (position >= zone->getLogic()->getCards().size() - 1) { + } else if (position >= zone->getCards().size() - 1) { if (cardName.isEmpty()) { if (ownerChange) { cardName = tr("the bottom card of %1's library") - .arg(zone->getLogic()->getPlayer()->getPlayerInfo()->getName()); + .arg(zone->getPlayer()->getPlayerInfo()->getName()); } else { cardName = tr("the bottom card of their library"); } @@ -76,14 +76,14 @@ QPair MessageLogWidget::getFromStr(CardZone *zone, QString car } else { if (ownerChange) { fromStr = tr(" from the bottom of %1's library") - .arg(zone->getLogic()->getPlayer()->getPlayerInfo()->getName()); + .arg(zone->getPlayer()->getPlayerInfo()->getName()); } else { fromStr = tr(" from the bottom of their library"); } } } else { if (ownerChange) { - fromStr = tr(" from %1's library").arg(zone->getLogic()->getPlayer()->getPlayerInfo()->getName()); + fromStr = tr(" from %1's library").arg(zone->getPlayer()->getPlayerInfo()->getName()); } else { fromStr = tr(" from their library"); } @@ -117,20 +117,20 @@ void MessageLogWidget::containerProcessingStarted(const GameEventContext &contex } } -void MessageLogWidget::logAlwaysRevealTopCard(Player *player, CardZone *zone, bool reveal) +void MessageLogWidget::logAlwaysRevealTopCard(Player *player, CardZoneLogic *zone, bool reveal) { appendHtmlServerMessage((reveal ? tr("%1 is now keeping the top card %2 revealed.") : tr("%1 is not revealing the top card %2 any longer.")) .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseTopCardsOfZone))); + .arg(zone->getTranslatedName(true, CaseTopCardsOfZone))); } -void MessageLogWidget::logAlwaysLookAtTopCard(Player *player, CardZone *zone, bool reveal) +void MessageLogWidget::logAlwaysLookAtTopCard(Player *player, CardZoneLogic *zone, bool reveal) { appendHtmlServerMessage((reveal ? tr("%1 can now look at top card %2 at any time.") : tr("%1 no longer can look at top card %2 at any time.")) .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseTopCardsOfZone))); + .arg(zone->getTranslatedName(true, CaseTopCardsOfZone))); } void MessageLogWidget::logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName) @@ -266,18 +266,18 @@ void MessageLogWidget::logDestroyCard(Player *player, QString cardName) void MessageLogWidget::logMoveCard(Player *player, CardItem *card, - CardZone *startZone, + CardZoneLogic *startZone, int oldX, - CardZone *targetZone, + CardZoneLogic *targetZone, int newX) { if (currentContext == MessageContext_Mulligan) { return; } - QString startZoneName = startZone->getLogic()->getName(); - QString targetZoneName = targetZone->getLogic()->getName(); - bool ownerChanged = startZone->getLogic()->getPlayer() != targetZone->getLogic()->getPlayer(); + QString startZoneName = startZone->getName(); + QString targetZoneName = targetZone->getName(); + bool ownerChanged = startZone->getPlayer() != targetZone->getPlayer(); // do not log if moved within the same zone if ((startZoneName == TABLE_ZONE_NAME && targetZoneName == TABLE_ZONE_NAME && !ownerChanged) || @@ -301,10 +301,10 @@ void MessageLogWidget::logMoveCard(Player *player, cardStr = cardLink(cardName); } - if (ownerChanged && (startZone->getLogic()->getPlayer() == player)) { + if (ownerChanged && (startZone->getPlayer() == player)) { appendHtmlServerMessage(tr("%1 gives %2 control over %3.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(sanitizeHtml(targetZone->getLogic()->getPlayer()->getPlayerInfo()->getName())) + .arg(sanitizeHtml(targetZone->getPlayer()->getPlayerInfo()->getName())) .arg(cardStr)); return; } @@ -327,7 +327,7 @@ void MessageLogWidget::logMoveCard(Player *player, } else if (targetZoneName == DECK_ZONE_NAME) { if (newX == -1) { finalStr = tr("%1 puts %2%3 into their library."); - } else if (newX >= targetZone->getLogic()->getCards().size()) { + } else if (newX >= targetZone->getCards().size()) { finalStr = tr("%1 puts %2%3 onto the bottom of their library."); } else if (newX == 0) { finalStr = tr("%1 puts %2%3 on top of their library."); @@ -372,18 +372,18 @@ void MessageLogWidget::logDrawCards(Player *player, int number, bool deckIsEmpty } } -void MessageLogWidget::logDumpZone(Player *player, CardZone *zone, int numberCards, bool isReversed) +void MessageLogWidget::logDumpZone(Player *player, CardZoneLogic *zone, int numberCards, bool isReversed) { if (numberCards == -1) { appendHtmlServerMessage( tr("%1 is looking at %2.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(zone->getLogic()->getPlayer() == player, CaseLookAtZone))); + .arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone))); } else { appendHtmlServerMessage( tr("%1 is looking at the %4 %3 card(s) %2.", "top card for singular, top %3 cards for plural", numberCards) .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(zone->getLogic()->getPlayer() == player, CaseTopCardsOfZone)) + .arg(zone->getTranslatedName(zone->getPlayer() == player, CaseTopCardsOfZone)) .arg("" + QString::number(numberCards) + "") .arg(isReversed ? tr("bottom") : tr("top"))); } @@ -479,7 +479,7 @@ void MessageLogWidget::logReadyStart(Player *player) } void MessageLogWidget::logRevealCards(Player *player, - CardZone *zone, + CardZoneLogic *zone, int cardId, QString cardName, Player *otherPlayer, @@ -514,18 +514,18 @@ void MessageLogWidget::logRevealCards(Player *player, if (isLentToAnotherPlayer) { appendHtmlServerMessage(tr("%1 lends %2 to %3.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseRevealZone)) + .arg(zone->getTranslatedName(true, CaseRevealZone)) .arg(sanitizeHtml(otherPlayer->getPlayerInfo()->getName()))); } else { appendHtmlServerMessage(tr("%1 reveals %2 to %3.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseRevealZone)) + .arg(zone->getTranslatedName(true, CaseRevealZone)) .arg(sanitizeHtml(otherPlayer->getPlayerInfo()->getName()))); } } else { appendHtmlServerMessage(tr("%1 reveals %2.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseRevealZone))); + .arg(zone->getTranslatedName(true, CaseRevealZone))); } } else if (cardId == -2) { if (otherPlayer) { @@ -744,7 +744,7 @@ void MessageLogWidget::logSetTapped(Player *player, CardItem *card, bool tapped) } } -void MessageLogWidget::logShuffle(Player *player, CardZone *zone, int start, int end) +void MessageLogWidget::logShuffle(Player *player, CardZoneLogic *zone, int start, int end) { if (currentContext == MessageContext_Mulligan) { return; @@ -756,21 +756,21 @@ void MessageLogWidget::logShuffle(Player *player, CardZone *zone, int start, int if (start == 0 && end == -1) { appendHtmlServerMessage(tr("%1 shuffles %2.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseShuffleZone))); + .arg(zone->getTranslatedName(true, CaseShuffleZone))); } else if (start < 0 && end == -1) { appendHtmlServerMessage(tr("%1 shuffles the bottom %3 cards of %2.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseShuffleZone)) + .arg(zone->getTranslatedName(true, CaseShuffleZone)) .arg(-start)); } else if (start < 0 && end > 0) { appendHtmlServerMessage(tr("%1 shuffles the top %3 cards of %2.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseShuffleZone)) + .arg(zone->getTranslatedName(true, CaseShuffleZone)) .arg(end + 1)); } else { appendHtmlServerMessage(tr("%1 shuffles cards %3 - %4 of %2.") .arg(sanitizeHtml(player->getPlayerInfo()->getName())) - .arg(zone->getLogic()->getTranslatedName(true, CaseShuffleZone)) + .arg(zone->getTranslatedName(true, CaseShuffleZone)) .arg(start) .arg(end)); } @@ -814,29 +814,30 @@ void MessageLogWidget::appendHtmlServerMessage(const QString &html, bool optiona void MessageLogWidget::connectToPlayerEventHandler(PlayerEventHandler *playerEventHandler) { - // connect(playerEventHandler, &PlayerEventHandler::logSay, this, &MessageLogWidget::logSay); - // connect(playerEventHandler, &PlayerEventHandler::logShuffle, this, &MessageLogWidget::logShuffle); - // connect(playerEventHandler, &PlayerEventHandler::logRollDie, this, &MessageLogWidget::logRollDie); - // connect(playerEventHandler, &PlayerEventHandler::logCreateArrow, this, &MessageLogWidget::logCreateArrow); + connect(playerEventHandler, &PlayerEventHandler::logSay, this, &MessageLogWidget::logSay); + connect(playerEventHandler, &PlayerEventHandler::logShuffle, this, &MessageLogWidget::logShuffle); + connect(playerEventHandler, &PlayerEventHandler::logRollDie, this, &MessageLogWidget::logRollDie); + connect(playerEventHandler, &PlayerEventHandler::logCreateArrow, this, &MessageLogWidget::logCreateArrow); connect(playerEventHandler, &PlayerEventHandler::logCreateToken, this, &MessageLogWidget::logCreateToken); connect(playerEventHandler, &PlayerEventHandler::logSetCounter, this, &MessageLogWidget::logSetCounter); connect(playerEventHandler, &PlayerEventHandler::logSetCardCounter, this, &MessageLogWidget::logSetCardCounter); - // connect(playerEventHandler, &PlayerEventHandler::logSetTapped, this, &MessageLogWidget::logSetTapped); - // connect(playerEventHandler, &PlayerEventHandler::logSetDoesntUntap, this, &MessageLogWidget::logSetDoesntUntap); + connect(playerEventHandler, &PlayerEventHandler::logSetTapped, this, &MessageLogWidget::logSetTapped); + connect(playerEventHandler, &PlayerEventHandler::logSetDoesntUntap, this, &MessageLogWidget::logSetDoesntUntap); connect(playerEventHandler, &PlayerEventHandler::logSetPT, this, &MessageLogWidget::logSetPT); connect(playerEventHandler, &PlayerEventHandler::logSetAnnotation, this, &MessageLogWidget::logSetAnnotation); - // connect(playerEventHandler, &PlayerEventHandler::logMoveCard, this, &MessageLogWidget::logMoveCard); + connect(playerEventHandler, &PlayerEventHandler::logMoveCard, this, &MessageLogWidget::logMoveCard); connect(playerEventHandler, &PlayerEventHandler::logFlipCard, this, &MessageLogWidget::logFlipCard); connect(playerEventHandler, &PlayerEventHandler::logDestroyCard, this, &MessageLogWidget::logDestroyCard); connect(playerEventHandler, &PlayerEventHandler::logAttachCard, this, &MessageLogWidget::logAttachCard); connect(playerEventHandler, &PlayerEventHandler::logUnattachCard, this, &MessageLogWidget::logUnattachCard); - // connect(playerEventHandler, &PlayerEventHandler::logDumpZone, this, &MessageLogWidget::logDumpZone); + connect(playerEventHandler, &PlayerEventHandler::logDumpZone, this, &MessageLogWidget::logDumpZone); connect(playerEventHandler, &PlayerEventHandler::logDrawCards, this, &MessageLogWidget::logDrawCards); connect(playerEventHandler, &PlayerEventHandler::logUndoDraw, this, &MessageLogWidget::logUndoDraw); - // connect(playerEventHandler, &PlayerEventHandler::logRevealCards, this, &MessageLogWidget::logRevealCards); - // connect(playerEventHandler, &PlayerEventHandler::logAlwaysRevealTopCard, this, - // &MessageLogWidget::logAlwaysRevealTopCard); connect(playerEventHandler, - // &PlayerEventHandler::logAlwaysLookAtTopCard, this, &MessageLogWidget::logAlwaysLookAtTopCard); + connect(playerEventHandler, &PlayerEventHandler::logRevealCards, this, &MessageLogWidget::logRevealCards); + connect(playerEventHandler, &PlayerEventHandler::logAlwaysRevealTopCard, this, + &MessageLogWidget::logAlwaysRevealTopCard); + connect(playerEventHandler, &PlayerEventHandler::logAlwaysLookAtTopCard, this, + &MessageLogWidget::logAlwaysLookAtTopCard); } MessageLogWidget::MessageLogWidget(TabSupervisor *_tabSupervisor, Game *_game, QWidget *parent) diff --git a/cockatrice/src/server/message_log_widget.h b/cockatrice/src/server/message_log_widget.h index 84f7fe070..652bbea47 100644 --- a/cockatrice/src/server/message_log_widget.h +++ b/cockatrice/src/server/message_log_widget.h @@ -2,12 +2,12 @@ #define MESSAGELOGWIDGET_H #include "../client/translation.h" +#include "../game/zones/logic/card_zone_logic.h" #include "chat_view/chat_view.h" #include "user_level.h" class Player; class PlayerEventHandler; -class CardZone; class Game; class GameEventContext; class CardItem; @@ -26,7 +26,7 @@ private: MessageContext currentContext; QString messagePrefix, messageSuffix; - static QPair getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange); + static QPair getFromStr(CardZoneLogic *zone, QString cardName, int position, bool ownerChange); public: void connectToPlayerEventHandler(PlayerEventHandler *player); @@ -35,8 +35,8 @@ public: public slots: void containerProcessingDone(); void containerProcessingStarted(const GameEventContext &context); - void logAlwaysRevealTopCard(Player *player, CardZone *zone, bool reveal); - void logAlwaysLookAtTopCard(Player *player, CardZone *zone, bool reveal); + void logAlwaysRevealTopCard(Player *player, CardZoneLogic *zone, bool reveal); + void logAlwaysLookAtTopCard(Player *player, CardZoneLogic *zone, bool reveal); void logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName); void logConcede(int playerId); void logUnconcede(int playerId); @@ -51,7 +51,7 @@ public slots: void logDeckSelect(Player *player, QString deckHash, int sideboardSize); void logDestroyCard(Player *player, QString cardName); void logDrawCards(Player *player, int number, bool deckIsEmpty); - void logDumpZone(Player *player, CardZone *zone, int numberCards, bool isReversed = false); + void logDumpZone(Player *player, CardZoneLogic *zone, int numberCards, bool isReversed = false); void logFlipCard(Player *player, QString cardName, bool faceDown); void logGameClosed(); void logGameStart(); @@ -62,12 +62,17 @@ public slots: void logLeave(Player *player, QString reason); void logLeaveSpectator(QString name, QString reason); void logNotReadyStart(Player *player); - void logMoveCard(Player *player, CardItem *card, CardZone *startZone, int oldX, CardZone *targetZone, int newX); + void logMoveCard(Player *player, + CardItem *card, + CardZoneLogic *startZone, + int oldX, + CardZoneLogic *targetZone, + int newX); void logMulligan(Player *player, int number); void logReplayStarted(int gameId); void logReadyStart(Player *player); void logRevealCards(Player *player, - CardZone *zone, + CardZoneLogic *zone, int cardId, QString cardName, Player *otherPlayer, @@ -86,7 +91,7 @@ public slots: void logSetPT(Player *player, CardItem *card, QString newPT); void logSetSideboardLock(Player *player, bool locked); void logSetTapped(Player *player, CardItem *card, bool tapped); - void logShuffle(Player *player, CardZone *zone, int start, int end); + void logShuffle(Player *player, CardZoneLogic *zone, int start, int end); void logSpectatorSay(const ServerInfo_User &spectator, QString message); void logUnattachCard(Player *player, QString cardName); void logUndoDraw(Player *player, QString cardName);