diff --git a/cockatrice/src/cardzone.cpp b/cockatrice/src/cardzone.cpp index dc26263b..a6e6959d 100644 --- a/cockatrice/src/cardzone.cpp +++ b/cockatrice/src/cardzone.cpp @@ -37,111 +37,70 @@ void CardZone::clearContents() const QList &attachedCards = cards[i]->getAttachedCards(); for (int j = 0; j < attachedCards.size(); ++j) attachedCards[j]->setParentItem(attachedCards[j]->getZone()); - + player->deleteCard(cards.at(i)); } cards.clear(); emit cardCountChanged(); } -QString CardZone::getTranslatedName(bool hisOwn, GrammaticalCase gc) const +QString CardZone::getTranslatedName(bool theirOwn, GrammaticalCase gc) const { QString ownerName = player->getName(); - bool female = player->getUserInfo()->gender() == ServerInfo_User::Female; if (name == "hand") - return female - ? (hisOwn - ? tr("her hand", "nominative, female owner") - : tr("%1's hand", "nominative, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his hand", "nominative, male owner") - : tr("%1's hand", "nominative, male owner").arg(ownerName) + return (theirOwn + ? tr("their hand", "nominative") + : tr("%1's hand", "nominative").arg(ownerName) ); else if (name == "deck") switch (gc) { case CaseLookAtZone: - return female - ? (hisOwn - ? tr("her library", "look at zone, female owner") - : tr("%1's library", "look at zone, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his library", "look at zone, male owner") - : tr("%1's library", "look at zone, male owner").arg(ownerName) + return (theirOwn + ? tr("their library", "look at zone") + : tr("%1's library", "look at zone").arg(ownerName) ); case CaseTopCardsOfZone: - return female - ? (hisOwn - ? tr("of her library", "top cards of zone, female owner") - : tr("of %1's library", "top cards of zone, female owner").arg(ownerName) - ) : (hisOwn - ? tr("of his library", "top cards of zone, male owner") - : tr("of %1's library", "top cards of zone, male owner").arg(ownerName) + return (theirOwn + ? tr("of their library", "top cards of zone,") + : tr("of %1's library", "top cards of zone").arg(ownerName) ); case CaseRevealZone: - return female - ? (hisOwn - ? tr("her library", "reveal zone, female owner") - : tr("%1's library", "reveal zone, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his library", "reveal zone, male owner") - : tr("%1's library", "reveal zone, male owner").arg(ownerName) + return (theirOwn + ? tr("their library", "reveal zone") + : tr("%1's library", "reveal zone").arg(ownerName) ); case CaseShuffleZone: - return female - ? (hisOwn - ? tr("her library", "shuffle, female owner") - : tr("%1's library", "shuffle, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his library", "shuffle, male owner") - : tr("%1's library", "shuffle, male owner").arg(ownerName) + return (theirOwn + ? tr("their library", "shuffle") + : tr("%1's library", "shuffle").arg(ownerName) ); default: - return female - ? (hisOwn - ? tr("her library", "nominative, female owner") - : tr("%1's library", "nominative, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his library", "nominative, male owner") - : tr("%1's library", "nominative, male owner").arg(ownerName) + return (theirOwn + ? tr("their library", "nominative") + : tr("%1's library", "nominative").arg(ownerName) ); } else if (name == "grave") - return female - ? (hisOwn - ? tr("her graveyard", "nominative, female owner") - : tr("%1's graveyard", "nominative, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his graveyard", "nominative, male owner") - : tr("%1's graveyard", "nominative, male owner").arg(ownerName) + return (theirOwn + ? tr("their graveyard", "nominative") + : tr("%1's graveyard", "nominative").arg(ownerName) ); else if (name == "rfg") - return female - ? (hisOwn - ? tr("her exile", "nominative, female owner") - : tr("%1's exile", "nominative, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his exile", "nominative, male owner") - : tr("%1's exile", "nominative, male owner").arg(ownerName) + return (theirOwn + ? tr("their exile", "nominative") + : tr("%1's exile", "nominative").arg(ownerName) ); else if (name == "sb") switch (gc) { case CaseLookAtZone: - return female - ? (hisOwn - ? tr("her sideboard", "look at zone, female owner") - : tr("%1's sideboard", "look at zone, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his sideboard", "look at zone, male owner") - : tr("%1's sideboard", "look at zone, male owner").arg(ownerName) + return (theirOwn + ? tr("their sideboard", "look at zone") + : tr("%1's sideboard", "look at zone").arg(ownerName) ); case CaseNominative: - return female - ? (hisOwn - ? tr("her sideboard", "nominative, female owner") - : tr("%1's sideboard", "nominative, female owner").arg(ownerName) - ) : (hisOwn - ? tr("his sideboard", "nominative, male owner") - : tr("%1's sideboard", "nominative, male owner").arg(ownerName) + return (theirOwn + ? tr("their sideboard", "nominative") + : tr("%1's sideboard", "nominative").arg(ownerName) ); default: break; } @@ -185,7 +144,7 @@ void CardZone::addCard(CardItem *card, bool reorganize, int x, int y) if (reorganize) reorganizeCards(); - + emit cardCountChanged(); } @@ -247,16 +206,16 @@ void CardZone::moveAllToZone() QList data = static_cast(sender())->data().toList(); QString targetZone = data[0].toString(); int targetX = data[1].toInt(); - + Command_MoveCard cmd; cmd.set_start_zone(getName().toStdString()); cmd.set_target_player_id(player->getId()); cmd.set_target_zone(targetZone.toStdString()); cmd.set_x(targetX); - + for (int i = 0; i < cards.size(); ++i) cmd.mutable_cards_to_move()->add_card()->set_card_id(cards[i]->getId()); - + player->sendGameCommand(cmd); } diff --git a/cockatrice/src/cardzone.h b/cockatrice/src/cardzone.h index adaf0141..513b229a 100644 --- a/cockatrice/src/cardzone.h +++ b/cockatrice/src/cardzone.h @@ -47,7 +47,7 @@ public: QMenu *getMenu() const { return menu; } void setMenu(QMenu *_menu, QAction *_doubleClickAction = 0) { menu = _menu; doubleClickAction = _doubleClickAction; } QString getName() const { return name; } - QString getTranslatedName(bool hisOwn, GrammaticalCase gc) const; + QString getTranslatedName(bool theirOwn, GrammaticalCase gc) const; Player *getPlayer() const { return player; } bool contentsKnown() const { return cards.getContentsKnown(); } const CardList &getCards() const { return cards; } diff --git a/cockatrice/src/dlg_edit_user.cpp b/cockatrice/src/dlg_edit_user.cpp index 57d51ef6..2c319b63 100644 --- a/cockatrice/src/dlg_edit_user.cpp +++ b/cockatrice/src/dlg_edit_user.cpp @@ -7,7 +7,7 @@ #include "dlg_edit_user.h" #include "settingscache.h" -DlgEditUser::DlgEditUser(QWidget *parent, QString email, int gender, QString country, QString realName) +DlgEditUser::DlgEditUser(QWidget *parent, QString email, QString country, QString realName) : QDialog(parent) { emailLabel = new QLabel(tr("Email:")); @@ -15,14 +15,6 @@ DlgEditUser::DlgEditUser(QWidget *parent, QString email, int gender, QString cou emailLabel->setBuddy(emailEdit); emailEdit->setText(email); - genderLabel = new QLabel(tr("Pronouns:")); - genderEdit = new QComboBox(); - genderLabel->setBuddy(genderEdit); - genderEdit->insertItem(0, QPixmap("theme:genders/unknown"), tr("Neutral")); - genderEdit->insertItem(1, QPixmap("theme:genders/male"), tr("Masculine")); - genderEdit->insertItem(2, QPixmap("theme:genders/female"), tr("Feminine")); - genderEdit->setCurrentIndex(gender + 1); - countryLabel = new QLabel(tr("Country:")); countryEdit = new QComboBox(); countryLabel->setBuddy(countryEdit); @@ -44,21 +36,19 @@ DlgEditUser::DlgEditUser(QWidget *parent, QString email, int gender, QString cou realnameEdit = new QLineEdit(); realnameLabel->setBuddy(realnameEdit); realnameEdit->setText(realName); - + QGridLayout *grid = new QGridLayout; grid->addWidget(emailLabel, 0, 0); grid->addWidget(emailEdit, 0, 1); - grid->addWidget(genderLabel, 1, 0); - grid->addWidget(genderEdit, 1, 1); grid->addWidget(countryLabel, 2, 0); grid->addWidget(countryEdit, 2, 1); grid->addWidget(realnameLabel, 3, 0); grid->addWidget(realnameEdit, 3, 1); - + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(actCancel())); - + QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); diff --git a/cockatrice/src/dlg_edit_user.h b/cockatrice/src/dlg_edit_user.h index d7d04b1b..3504a2c9 100644 --- a/cockatrice/src/dlg_edit_user.h +++ b/cockatrice/src/dlg_edit_user.h @@ -12,18 +12,18 @@ class QCheckBox; class DlgEditUser : public QDialog { Q_OBJECT public: - DlgEditUser(QWidget *parent = 0, QString email = QString(), int gender = -1, QString country = QString(), QString realName = QString()); + DlgEditUser(QWidget *parent = 0, QString email = QString(), QString country = QString(), QString realName = QString()); QString getEmail() const { return emailEdit->text(); } - int getGender() const { return genderEdit->currentIndex() - 1; } + int getGender() const { return -1; } //This will return GenderUnknown for protocol purposes. QString getCountry() const { return countryEdit->currentIndex() == 0 ? "" : countryEdit->currentText(); } QString getRealName() const { return realnameEdit->text(); } private slots: void actOk(); void actCancel(); private: - QLabel *emailLabel, *genderLabel, *countryLabel, *realnameLabel; + QLabel *emailLabel, *countryLabel, *realnameLabel; QLineEdit *emailEdit, *realnameEdit; - QComboBox *genderEdit, *countryEdit; + QComboBox *countryEdit; }; #endif diff --git a/cockatrice/src/dlg_register.cpp b/cockatrice/src/dlg_register.cpp index db9ba363..65f68190 100644 --- a/cockatrice/src/dlg_register.cpp +++ b/cockatrice/src/dlg_register.cpp @@ -17,15 +17,15 @@ DlgRegister::DlgRegister(QWidget *parent) hostEdit = new QLineEdit(settingsCache->servers().getHostname("cockatrice.woogerworks.com")); hostLabel->setBuddy(hostEdit); - portLabel = new QLabel(tr("&Port:")); + portLabel = new QLabel(tr("&Port:")); portEdit = new QLineEdit(settingsCache->servers().getPort("4747")); portLabel->setBuddy(portEdit); - playernameLabel = new QLabel(tr("Player &name:")); + playernameLabel = new QLabel(tr("Player &name:")); playernameEdit = new QLineEdit(settingsCache->servers().getPlayerName("Player")); playernameLabel->setBuddy(playernameEdit); - passwordLabel = new QLabel(tr("P&assword:")); + passwordLabel = new QLabel(tr("P&assword:")); passwordEdit = new QLineEdit(settingsCache->servers().getPassword()); passwordLabel->setBuddy(passwordEdit); passwordEdit->setEchoMode(QLineEdit::Password); @@ -43,14 +43,6 @@ DlgRegister::DlgRegister(QWidget *parent) emailConfirmationEdit = new QLineEdit(); emailConfirmationLabel->setBuddy(emailConfirmationEdit); - genderLabel = new QLabel(tr("Pronouns:")); - genderEdit = new QComboBox(); - genderLabel->setBuddy(genderEdit); - genderEdit->insertItem(0, QPixmap("theme:genders/unknown"), tr("Neutral")); - genderEdit->insertItem(1, QPixmap("theme:genders/male"), tr("Masculine")); - genderEdit->insertItem(2, QPixmap("theme:genders/female"), tr("Feminine")); - genderEdit->setCurrentIndex(0); - countryLabel = new QLabel(tr("Country:")); countryEdit = new QComboBox(); countryLabel->setBuddy(countryEdit); @@ -312,7 +304,7 @@ DlgRegister::DlgRegister(QWidget *parent) realnameLabel = new QLabel(tr("Real name:")); realnameEdit = new QLineEdit(); realnameLabel->setBuddy(realnameEdit); - + QGridLayout *grid = new QGridLayout; grid->addWidget(hostLabel, 0, 0); grid->addWidget(hostEdit, 0, 1); @@ -328,17 +320,15 @@ DlgRegister::DlgRegister(QWidget *parent) grid->addWidget(emailEdit, 5, 1); grid->addWidget(emailConfirmationLabel, 6, 0); grid->addWidget(emailConfirmationEdit, 6, 1); - grid->addWidget(genderLabel, 7, 0); - grid->addWidget(genderEdit, 7, 1); grid->addWidget(countryLabel, 8, 0); grid->addWidget(countryEdit, 8, 1); grid->addWidget(realnameLabel, 9, 0); grid->addWidget(realnameEdit, 9, 1); - + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(actCancel())); - + QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); @@ -372,7 +362,7 @@ void DlgRegister::actOk() settingsCache->servers().setPlayerName(playernameEdit->text()); // always save the password so it will be picked up by the connect dialog settingsCache->servers().setPassword(passwordEdit->text()); - + accept(); } diff --git a/cockatrice/src/dlg_register.h b/cockatrice/src/dlg_register.h index c86f1217..83717106 100644 --- a/cockatrice/src/dlg_register.h +++ b/cockatrice/src/dlg_register.h @@ -18,16 +18,16 @@ public: QString getPlayerName() const { return playernameEdit->text(); } QString getPassword() const { return passwordEdit->text(); } QString getEmail() const { return emailEdit->text(); } - int getGender() const { return genderEdit->currentIndex() - 1; } + int getGender() const { return -1; } //This will return GenderUnknown for the protocol. QString getCountry() const { return countryEdit->currentIndex() == 0 ? "" : countryEdit->currentText(); } QString getRealName() const { return realnameEdit->text(); } private slots: void actOk(); void actCancel(); private: - QLabel *hostLabel, *portLabel, *playernameLabel, *passwordLabel, *passwordConfirmationLabel, *emailLabel, *emailConfirmationLabel, *genderLabel, *countryLabel, *realnameLabel; + QLabel *hostLabel, *portLabel, *playernameLabel, *passwordLabel, *passwordConfirmationLabel, *emailLabel, *emailConfirmationLabel, *countryLabel, *realnameLabel; QLineEdit *hostEdit, *portEdit, *playernameEdit, *passwordEdit, *passwordConfirmationEdit, *emailEdit, *emailConfirmationEdit, *realnameEdit; - QComboBox *genderEdit, *countryEdit; + QComboBox *countryEdit; }; #endif diff --git a/cockatrice/src/messagelogwidget.cpp b/cockatrice/src/messagelogwidget.cpp index ac5b5a32..6f3d7c08 100644 --- a/cockatrice/src/messagelogwidget.cpp +++ b/cockatrice/src/messagelogwidget.cpp @@ -25,49 +25,27 @@ QString MessageLogWidget::cardLink(const QString &cardName) const return QString("%2").arg(cardName).arg(cardName); } -bool MessageLogWidget::isFemale(Player *player) const -{ - return player->getUserInfo()->gender() == ServerInfo_User::Female; -} - -bool MessageLogWidget::userIsFemale() const -{ - return (tabSupervisor && tabSupervisor->getUserInfo() && (tabSupervisor->getUserInfo()->gender() & ServerInfo_User::Female)); -} - void MessageLogWidget::logGameJoined(int gameId) { soundEngine->playSound("player_join"); - if (userIsFemale()) - appendHtmlServerMessage(tr("You have joined game #%1.", "female").arg(""+ QString::number(gameId) + "")); - else - appendHtmlServerMessage(tr("You have joined game #%1.", "male").arg(""+ QString::number(gameId) + "")); + appendHtmlServerMessage(tr("You have joined game #%1.").arg(""+ QString::number(gameId) + "")); } void MessageLogWidget::logReplayStarted(int gameId) { - if (userIsFemale()) - appendHtmlServerMessage(tr("You are watching a replay of game #%1.", "female").arg(gameId)); - else - appendHtmlServerMessage(tr("You are watching a replay of game #%1.", "male").arg(gameId)); + appendHtmlServerMessage(tr("You are watching a replay of game #%1.").arg(gameId)); } void MessageLogWidget::logJoin(Player *player) { soundEngine->playSound("player_join"); - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 has joined the game.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 has joined the game.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 has joined the game.").arg(sanitizeHtml(player->getName()))); } void MessageLogWidget::logLeave(Player *player) { soundEngine->playSound("player_leave"); - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 has left the game.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 has left the game.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 has left the game.").arg(sanitizeHtml(player->getName()))); } void MessageLogWidget::logGameClosed() @@ -94,11 +72,10 @@ void MessageLogWidget::logLeaveSpectator(QString name) void MessageLogWidget::logDeckSelect(Player *player, QString deckHash, int sideboardSize) { - const char* gender = isFemale(player) ? "female" : "male"; if (sideboardSize < 0) - appendHtmlServerMessage(tr("%1 has loaded a deck (%2).", gender).arg(sanitizeHtml(player->getName())).arg(deckHash)); + appendHtmlServerMessage(tr("%1 has loaded a deck (%2).").arg(sanitizeHtml(player->getName())).arg(deckHash)); else - appendHtmlServerMessage(tr("%1 has loaded a deck with %2 sideboard cards (%3).", gender). + appendHtmlServerMessage(tr("%1 has loaded a deck with %2 sideboard cards (%3)."). arg(sanitizeHtml(player->getName())). arg("" + QString::number(sideboardSize) + ""). arg(deckHash)); @@ -106,42 +83,27 @@ void MessageLogWidget::logDeckSelect(Player *player, QString deckHash, int sideb void MessageLogWidget::logReadyStart(Player *player) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 is ready to start the game.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 is ready to start the game.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 is ready to start the game.").arg(sanitizeHtml(player->getName()))); } void MessageLogWidget::logNotReadyStart(Player *player) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 is not ready to start the game any more.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 is not ready to start the game any more.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 is not ready to start the game any more.").arg(sanitizeHtml(player->getName()))); } void MessageLogWidget::logSetSideboardLock(Player *player, bool locked) { if (locked) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 has locked her sideboard.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 has locked his sideboard.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 has locked their sideboard.").arg(sanitizeHtml(player->getName()))); } else { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 has unlocked her sideboard.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 has unlocked his sideboard.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 has unlocked their sideboard.").arg(sanitizeHtml(player->getName()))); } } void MessageLogWidget::logConcede(Player *player) { soundEngine->playSound("player_concede"); - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 has conceded the game.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 has conceded the game.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 has conceded the game.").arg(sanitizeHtml(player->getName()))); } void MessageLogWidget::logGameStart() @@ -153,16 +115,10 @@ void MessageLogWidget::logConnectionStateChanged(Player *player, bool connection { if (connectionState) { soundEngine->playSound("player_reconnect"); - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 has restored connection to the game.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 has restored connection to the game.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 has restored connection to the game.").arg(sanitizeHtml(player->getName()))); } else { soundEngine->playSound("player_disconnect"); - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 has lost connection to the game.", "female").arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 has lost connection to the game.", "male").arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 has lost connection to the game.").arg(sanitizeHtml(player->getName()))); } } @@ -180,10 +136,9 @@ void MessageLogWidget::logShuffle(Player *player, CardZone *zone) { soundEngine->playSound("shuffle"); if (currentContext != MessageContext_Mulligan) { - appendHtmlServerMessage((isFemale(player) - ? tr("%1 shuffles %2.", "female") - : tr("%1 shuffles %2.", "male") - ).arg(sanitizeHtml(player->getName())) + appendHtmlServerMessage( + tr("%1 shuffles %2.") + .arg(sanitizeHtml(player->getName())) .arg(zone->getTranslatedName(true, CaseShuffleZone))); } } @@ -194,14 +149,9 @@ void MessageLogWidget::logRollDie(Player *player, int sides, int roll) soundEngine->playSound("roll_dice"); if (sides == 2) - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 flipped a coin. It landed as %2.", "female").arg(sanitizeHtml(player->getName())).arg("" + coinOptions[roll - 1] + "")); - else - appendHtmlServerMessage(tr("%1 flipped a coin. It landed as %2.", "male").arg(sanitizeHtml(player->getName())).arg("" + coinOptions[roll - 1] + "")); - else if (isFemale(player)) - appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "female").arg(sanitizeHtml(player->getName())).arg("" + QString::number(roll) + "").arg("" + QString::number(sides) + "")); + appendHtmlServerMessage(tr("%1 flipped a coin. It landed as %2.").arg(sanitizeHtml(player->getName())).arg("" + coinOptions[roll - 1] + "")); else - appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "male").arg(sanitizeHtml(player->getName())).arg("" + QString::number(roll) + "").arg("" + QString::number(sides) + "")); + appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.").arg(sanitizeHtml(player->getName())).arg("" + QString::number(roll) + "").arg("" + QString::number(sides) + "")); } void MessageLogWidget::logDrawCards(Player *player, int number) @@ -210,19 +160,16 @@ void MessageLogWidget::logDrawCards(Player *player, int number) mulliganPlayer = player; else { soundEngine->playSound("draw_card"); - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 draws %2 card(s).", "female").arg(sanitizeHtml(player->getName())).arg("" + QString::number(number) + "")); - else - appendHtmlServerMessage(tr("%1 draws %2 card(s).", "male").arg(sanitizeHtml(player->getName())).arg("" + QString::number(number) + "")); + appendHtmlServerMessage(tr("%1 draws %2 card(s).").arg(sanitizeHtml(player->getName())).arg("" + QString::number(number) + "")); } } void MessageLogWidget::logUndoDraw(Player *player, QString cardName) { if (cardName.isEmpty()) - appendHtmlServerMessage((isFemale(player) ? tr("%1 undoes her last draw.") : tr("%1 undoes his last draw.")).arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 undoes their last draw.").arg(sanitizeHtml(player->getName()))); else - appendHtmlServerMessage((isFemale(player) ? tr("%1 undoes her last draw (%2).") : tr("%1 undoes his last draw (%2).")).arg(sanitizeHtml(player->getName())).arg(QString("%2").arg(sanitizeHtml(cardName)).arg(sanitizeHtml(cardName)))); + appendHtmlServerMessage(tr("%1 undoes their last draw (%2).").arg(sanitizeHtml(player->getName())).arg(QString("%2").arg(sanitizeHtml(cardName)).arg(sanitizeHtml(cardName)))); } QPair MessageLogWidget::getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const @@ -230,47 +177,47 @@ QPair MessageLogWidget::getFromStr(CardZone *zone, QString car bool cardNameContainsStartZone = false; QString fromStr; QString startName = zone->getName(); - + if (startName == "table") fromStr = tr(" from play"); else if (startName == "grave") - fromStr = isFemale(zone->getPlayer()) ? tr(" from her graveyard") : tr(" from his graveyard"); + fromStr = tr(" from their graveyard"); else if (startName == "rfg") fromStr = tr(" from exile"); else if (startName == "hand") - fromStr = isFemale(zone->getPlayer()) ? tr(" from her hand") : tr(" from his hand"); + fromStr = tr(" from their hand"); else if (startName == "deck") { if (position == 0) { if (cardName.isEmpty()) { if (ownerChange) cardName = tr("the top card of %1's library").arg(zone->getPlayer()->getName()); else - cardName = isFemale(zone->getPlayer()) ? tr("the top card of her library") : tr("the top card of his library"); + cardName = tr("the top card of their library"); cardNameContainsStartZone = true; } else { if (ownerChange) fromStr = tr(" from the top of %1's library").arg(zone->getPlayer()->getName()); else - fromStr = isFemale(zone->getPlayer()) ? tr(" from the top of her library") : tr(" from the top of his library"); + fromStr = tr(" from the top of their library"); } } else if (position >= zone->getCards().size() - 1) { if (cardName.isEmpty()) { if (ownerChange) cardName = tr("the bottom card of %1's library").arg(zone->getPlayer()->getName()); else - cardName = isFemale(zone->getPlayer()) ? tr("the bottom card of her library") : tr("the bottom card of his library"); + cardName = tr("the bottom card of their library"); cardNameContainsStartZone = true; } else { if (ownerChange) fromStr = tr(" from the bottom of %1's library").arg(zone->getPlayer()->getName()); else - fromStr = isFemale(zone->getPlayer()) ? tr(" from the bottom of her library") : tr(" from the bottom of his library"); + fromStr = tr(" from the bottom of their library"); } } else { if (ownerChange) fromStr = tr(" from %1's library").arg(zone->getPlayer()->getName()); else - fromStr = tr(" from library"); + fromStr = tr(" from their library"); } } else if (startName == "sb") fromStr = tr(" from sideboard"); @@ -304,12 +251,12 @@ void MessageLogWidget::doMoveCard(LogMoveCard &attributes) cardStr = tr("a card"); else cardStr = cardLink(cardName); - + if (ownerChange && (attributes.startZone->getPlayer() == attributes.player)) { appendHtmlServerMessage(tr("%1 gives %2 control over %3.").arg(sanitizeHtml(attributes.player->getName())).arg(sanitizeHtml(attributes.targetZone->getPlayer()->getName())).arg(cardStr)); return; } - + QString finalStr; if (targetName == "table") { soundEngine->playSound("play_card"); @@ -318,27 +265,27 @@ void MessageLogWidget::doMoveCard(LogMoveCard &attributes) else finalStr = tr("%1 puts %2 into play%3."); } else if (targetName == "grave") - finalStr = isFemale(attributes.targetZone->getPlayer()) ? tr("%1 puts %2%3 into her graveyard.") : tr("%1 puts %2%3 into his graveyard."); + finalStr = tr("%1 puts %2%3 into their graveyard."); else if (targetName == "rfg") finalStr = tr("%1 exiles %2%3."); else if (targetName == "hand") - finalStr = isFemale(attributes.targetZone->getPlayer()) ? tr("%1 moves %2%3 to her hand.") : tr("%1 moves %2%3 to his hand."); + finalStr = tr("%1 moves %2%3 to their hand."); else if (targetName == "deck") { if (attributes.newX == -1) - finalStr = isFemale(attributes.targetZone->getPlayer()) ? tr("%1 puts %2%3 into her library.") : tr("%1 puts %2%3 into his library."); + finalStr = tr("%1 puts %2%3 into their library."); else if (attributes.newX == attributes.targetZone->getCards().size() - 1) - finalStr = isFemale(attributes.targetZone->getPlayer()) ? tr("%1 puts %2%3 on bottom of her library.") : tr("%1 puts %2%3 on bottom of his library."); + finalStr = tr("%1 puts %2%3 on bottom of their library."); else if (attributes.newX == 0) - finalStr = isFemale(attributes.targetZone->getPlayer()) ? tr("%1 puts %2%3 on top of her library.") : tr("%1 puts %2%3 on top of his library."); + finalStr = tr("%1 puts %2%3 on top of their library."); else - finalStr = isFemale(attributes.targetZone->getPlayer()) ? tr("%1 puts %2%3 into her library at position %4.") : tr("%1 puts %2%3 into his library at position %4."); + finalStr = tr("%1 puts %2%3 into their library at position %4."); } else if (targetName == "sb") finalStr = tr("%1 moves %2%3 to sideboard."); else if (targetName == "stack") { soundEngine->playSound("play_card"); finalStr = tr("%1 plays %2%3."); } - + appendHtmlServerMessage(finalStr.arg(sanitizeHtml(attributes.player->getName())).arg(cardStr).arg(fromStr).arg(attributes.newX)); } @@ -359,69 +306,41 @@ void MessageLogWidget::logMulligan(Player *player, int number) return; if (number > -1) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 takes a mulligan to %n.", "female", number).arg(sanitizeHtml(player->getName()))); - else - appendHtmlServerMessage(tr("%1 takes a mulligan to %n.", "male", number).arg(sanitizeHtml(player->getName()))); - } else - appendHtmlServerMessage((isFemale(player) ? tr("%1 draws her initial hand.") : tr("%1 draws his initial hand.")).arg(sanitizeHtml(player->getName()))); + appendHtmlServerMessage(tr("%1 takes a mulligan to %2.").arg(sanitizeHtml(player->getName())).arg(number)); + } else { + appendHtmlServerMessage(tr("%1 draws their initial hand.").arg(sanitizeHtml(player->getName()))); + } } void MessageLogWidget::logFlipCard(Player *player, QString cardName, bool faceDown) { if (faceDown) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 flips %2 face-down.", "female").arg(sanitizeHtml(player->getName())).arg(cardName)); - else - appendHtmlServerMessage(tr("%1 flips %2 face-down.", "male").arg(sanitizeHtml(player->getName())).arg(cardName)); + appendHtmlServerMessage(tr("%1 flips %2 face-down.").arg(sanitizeHtml(player->getName())).arg(cardName)); } else { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 flips %2 face-up.", "female").arg(sanitizeHtml(player->getName())).arg(cardName)); - else - appendHtmlServerMessage(tr("%1 flips %2 face-up.", "male").arg(sanitizeHtml(player->getName())).arg(cardName)); + appendHtmlServerMessage(tr("%1 flips %2 face-up.").arg(sanitizeHtml(player->getName())).arg(cardName)); } } void MessageLogWidget::logDestroyCard(Player *player, QString cardName) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 destroys %2.", "female").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName))); - else - appendHtmlServerMessage(tr("%1 destroys %2.", "male").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName))); + appendHtmlServerMessage(tr("%1 destroys %2.").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName))); } void MessageLogWidget::logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName) { QString str; - if (isFemale(player)) { - if (isFemale(targetPlayer)) - str = tr("%1 attaches %2 to %3's %4.", "p1 female, p2 female"); - else - str = tr("%1 attaches %2 to %3's %4.", "p1 female, p2 male"); - } else { - if (isFemale(targetPlayer)) - str = tr("%1 attaches %2 to %3's %4.", "p1 male, p2 female"); - else - str = tr("%1 attaches %2 to %3's %4.", "p1 male, p2 male"); - } - + str = tr("%1 attaches %2 to %3's %4."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)).arg(sanitizeHtml(targetPlayer->getName())).arg(cardLink(targetCardName))); } void MessageLogWidget::logUnattachCard(Player *player, QString cardName) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 unattaches %2.", "female").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName))); - else - appendHtmlServerMessage(tr("%1 unattaches %2.", "male").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName))); + appendHtmlServerMessage(tr("%1 unattaches %2.").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName))); } void MessageLogWidget::logCreateToken(Player *player, QString cardName, QString pt) { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 creates token: %2%3.", "female").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)).arg(pt.isEmpty() ? QString() : QString(" (%1)").arg(sanitizeHtml(pt)))); - else - appendHtmlServerMessage(tr("%1 creates token: %2%3.", "male").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)).arg(pt.isEmpty() ? QString() : QString(" (%1)").arg(sanitizeHtml(pt)))); + appendHtmlServerMessage(tr("%1 creates token: %2%3.").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)).arg(pt.isEmpty() ? QString() : QString(" (%1)").arg(sanitizeHtml(pt)))); } void MessageLogWidget::logCreateArrow(Player *player, Player *startPlayer, QString startCard, Player *targetPlayer, QString targetCard, bool playerTarget) @@ -431,124 +350,30 @@ void MessageLogWidget::logCreateArrow(Player *player, Player *startPlayer, QStri QString str; if (playerTarget) { if ((player == startPlayer) && (player == targetPlayer)) { - if (isFemale(player)) - str = tr("%1 points from her %2 to herself.", "female"); - else - str = tr("%1 points from his %2 to himself.", "male"); + str = tr("%1 points from their %2 to themselves."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard)); } else if (player == startPlayer) { - if (isFemale(player)) { - if (isFemale(targetPlayer)) - str = tr("%1 points from her %2 to %3.", "p1 female, p2 female"); - else - str = tr("%1 points from her %2 to %3.", "p1 female, p2 male"); - } else { - if (isFemale(targetPlayer)) - str = tr("%1 points from his %2 to %3.", "p1 male, p2 female"); - else - str = tr("%1 points from his %2 to %3.", "p1 male, p2 male"); - } + str = tr("%1 points from their %2 to %3."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName()))); } else if (player == targetPlayer) { - if (isFemale(player)) { - if (isFemale(startPlayer)) - str = tr("%1 points from %2's %3 to herself.", "card owner female, target female"); - else - str = tr("%1 points from %2's %3 to herself.", "card owner male, target female"); - } else { - if (isFemale(startPlayer)) - str = tr("%1 points from %2's %3 to himself.", "card owner female, target male"); - else - str = tr("%1 points from %2's %3 to himself.", "card owner male, target male"); - } + str = tr("%1 points from %2's %3 to themselves."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard)); } else { - if (isFemale(player)) { - if (isFemale(startPlayer)) { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4.", "p1 female, p2 female, p3 female"); - else - str = tr("%1 points from %2's %3 to %4.", "p1 female, p2 female, p3 male"); - } else { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4.", "p1 female, p2 male, p3 female"); - else - str = tr("%1 points from %2's %3 to %4.", "p1 female, p2 male, p3 male"); - } - } else { - if (isFemale(startPlayer)) { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4.", "p1 male, p2 female, p3 female"); - else - str = tr("%1 points from %2's %3 to %4.", "p1 male, p2 female, p3 male"); - } else { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4.", "p1 male, p2 male, p3 female"); - else - str = tr("%1 points from %2's %3 to %4.", "p1 male, p2 male, p3 male"); - } - } + str = tr("%1 points from %2's %3 to %4."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName()))); } } else { if ((player == startPlayer) && (player == targetPlayer)) { - if (isFemale(player)) - str = tr("%1 points from her %2 to her %3.", "female"); - else - str = tr("%1 points from his %2 to his %3.", "male"); + str = tr("%1 points from their %2 to their %3."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(targetCard)); } else if (player == startPlayer) { - if (isFemale(player)) { - if (isFemale(targetPlayer)) - str = tr("%1 points from her %2 to %3's %4.", "p1 female, p2 female"); - else - str = tr("%1 points from her %2 to %3's %4.", "p1 female, p2 male"); - } else { - if (isFemale(targetPlayer)) - str = tr("%1 points from his %2 to %3's %4.", "p1 male, p2 female"); - else - str = tr("%1 points from his %2 to %3's %4.", "p1 male, p2 male"); - } + str = tr("%1 points from their %2 to %3's %4."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())).arg(targetCard)); } else if (player == targetPlayer) { - if (isFemale(player)) { - if (isFemale(startPlayer)) - str = tr("%1 points from %2's %3 to her own %4.", "card owner female, target female"); - else - str = tr("%1 points from %2's %3 to her own %4.", "card owner male, target female"); - } else { - if (isFemale(startPlayer)) - str = tr("%1 points from %2's %3 to his own %4.", "card owner female, target male"); - else - str = tr("%1 points from %2's %3 to his own %4.", "card owner male, target male"); - } + str = tr("%1 points from %2's %3 to their own %4."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(targetCard)); } else { - if (isFemale(player)) { - if (isFemale(startPlayer)) { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4's %5.", "p1 female, p2 female, p3 female"); - else - str = tr("%1 points from %2's %3 to %4's %5.", "p1 female, p2 female, p3 male"); - } else { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4's %5.", "p1 female, p2 male, p3 female"); - else - str = tr("%1 points from %2's %3 to %4's %5.", "p1 female, p2 male, p3 male"); - } - } else { - if (isFemale(startPlayer)) { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4's %5.", "p1 male, p2 female, p3 female"); - else - str = tr("%1 points from %2's %3 to %4's %5.", "p1 male, p2 female, p3 male"); - } else { - if (isFemale(targetPlayer)) - str = tr("%1 points from %2's %3 to %4's %5.", "p1 male, p2 male, p3 female"); - else - str = tr("%1 points from %2's %3 to %4's %5.", "p1 male, p2 male, p3 male"); - } - } + str = tr("%1 points from %2's %3 to %4's %5."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())).arg(targetCard)); } } @@ -557,27 +382,21 @@ void MessageLogWidget::logCreateArrow(Player *player, Player *startPlayer, QStri void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int counterId, int value, int oldValue) { QString finalStr, colorStr; - + int delta = abs(oldValue - value); if (value > oldValue) { - if (isFemale(player)) - finalStr = tr("%1 places %2 %3 counter(s) on %4 (now %5).", "female"); - else - finalStr = tr("%1 places %2 %3 counter(s) on %4 (now %5).", "male"); + finalStr = tr("%1 places %2 %3 counter(s) on %4 (now %5)."); } else { - if (isFemale(player)) - finalStr = tr("%1 removes %2 %3 counter(s) from %4 (now %5).", "female"); - else - finalStr = tr("%1 removes %2 %3 counter(s) from %4 (now %5).", "male"); + finalStr = tr("%1 removes %2 %3 counter(s) from %4 (now %5)."); } - + switch (counterId) { case 0: colorStr = tr("red", "", delta); break; case 1: colorStr = tr("yellow", "", delta); break; case 2: colorStr = tr("green", "", delta); break; default: ; } - + appendHtmlServerMessage(finalStr.arg(sanitizeHtml(player->getName())).arg("" + QString::number(delta) + "").arg(colorStr).arg(cardLink(cardName)).arg(value)); } @@ -587,36 +406,22 @@ void MessageLogWidget::logSetTapped(Player *player, CardItem *card, bool tapped) soundEngine->playSound("tap_card"); else soundEngine->playSound("untap_card"); - + if (currentContext == MessageContext_MoveCard) moveCardTapped.insert(card, tapped); else { QString str; if (!card) { - if (isFemale(player)) { if (tapped) - str = tr("%1 taps her permanents.", "female"); + str = tr("%1 taps their permanents."); else - str = tr("%1 untaps her permanents.", "female"); - } else { - if (tapped) - str = tr("%1 taps his permanents.", "male"); - else - str = tr("%1 untaps his permanents.", "male"); - } + str = tr("%1 untaps their permanents."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName()))); } else { - if (isFemale(player)) { if (tapped) - str = tr("%1 taps %2.", "female"); + str = tr("%1 taps %2."); else - str = tr("%1 untaps %2.", "female"); - } else { - if (tapped) - str = tr("%1 taps %2.", "male"); - else - str = tr("%1 untaps %2.", "male"); - } + str = tr("%1 untaps %2."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName()))); } } @@ -626,12 +431,9 @@ void MessageLogWidget::logSetCounter(Player *player, QString counterName, int va { if (counterName == "life") soundEngine->playSound("life_change"); - + QString str; - if (isFemale(player)) - str = tr("%1 sets counter %2 to %3 (%4%5).", "female"); - else - str = tr("%1 sets counter %2 to %3 (%4%5).", "male"); + str = tr("%1 sets counter %2 to %3 (%4%5)."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(QString("%1").arg(sanitizeHtml(counterName))).arg(QString("%1").arg(value)).arg(value > oldValue ? "+" : "").arg(value - oldValue)); } @@ -639,15 +441,9 @@ void MessageLogWidget::logSetDoesntUntap(Player *player, CardItem *card, bool do { QString str; if (doesntUntap) { - if (isFemale(player)) - str = tr("%1 sets %2 to not untap normally.", "female"); - else - str = tr("%1 sets %2 to not untap normally.", "male"); + str = tr("%1 sets %2 to not untap normally."); } else { - if (isFemale(player)) - str = tr("%1 sets %2 to untap normally.", "female"); - else - str = tr("%1 sets %2 to untap normally.", "male"); + str = tr("%1 sets %2 to untap normally."); } appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName()))); } @@ -658,10 +454,7 @@ void MessageLogWidget::logSetPT(Player *player, CardItem *card, QString newPT) moveCardPT.insert(card, newPT); else { QString str; - if (isFemale(player)) - str = tr("%1 sets PT of %2 to %3.", "female"); - else - str = tr("%1 sets PT of %2 to %3.", "male"); + str = tr("%1 sets PT of %2 to %3."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())).arg(QString("%1").arg(sanitizeHtml(newPT)))); } } @@ -669,35 +462,29 @@ void MessageLogWidget::logSetPT(Player *player, CardItem *card, QString newPT) void MessageLogWidget::logSetAnnotation(Player *player, CardItem *card, QString newAnnotation) { QString str; - if (isFemale(player)) - str = tr("%1 sets annotation of %2 to %3.", "female"); - else - str = tr("%1 sets annotation of %2 to %3.", "male"); + str = tr("%1 sets annotation of %2 to %3."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())).arg(QString(""%1"").arg(sanitizeHtml(newAnnotation)))); } void MessageLogWidget::logDumpZone(Player *player, CardZone *zone, int numberCards) { if (numberCards == -1) - appendHtmlServerMessage((isFemale(player) - ? tr("%1 is looking at %2.", "female") - : tr("%1 is looking at %2.", "male") + appendHtmlServerMessage(( + tr("%1 is looking at %2.") ).arg(sanitizeHtml(player->getName())) .arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone))); else - appendHtmlServerMessage((isFemale(player) - ? tr("%1 is looking at the top %2 card(s) %3.", "female") - : tr("%1 is looking at the top %2 card(s) %3.", "male") + appendHtmlServerMessage(( + tr("%1 is looking at the top %2 card(s) %3.") ).arg(sanitizeHtml(player->getName())).arg("" + QString::number(numberCards) + "") .arg(zone->getTranslatedName(zone->getPlayer() == player, CaseTopCardsOfZone))); } void MessageLogWidget::logStopDumpZone(Player *player, CardZone *zone) { - appendHtmlServerMessage((isFemale(player) - ? tr("%1 stops looking at %2.", "female") - : tr("%1 stops looking at %2.", "male") - ).arg(sanitizeHtml(player->getName())) + appendHtmlServerMessage( + tr("%1 stops looking at %2.") + .arg(sanitizeHtml(player->getName())) .arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone))); } @@ -722,78 +509,37 @@ void MessageLogWidget::logRevealCards(Player *player, CardZone *zone, int cardId QString str; if (cardId == -1) { if (otherPlayer) { - if (isFemale(player)) { - if (isFemale(otherPlayer)) - str = tr("%1 reveals %2 to %3.", "p1 female, p2 female"); - else - str = tr("%1 reveals %2 to %3.", "p1 female, p2 male"); - } else { - if (isFemale(otherPlayer)) - str = tr("%1 reveals %2 to %3.", "p1 male, p2 female"); - else - str = tr("%1 reveals %2 to %3.", "p1 male, p2 male"); - } + str = tr("%1 reveals %2 to %3."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseRevealZone)).arg(sanitizeHtml(otherPlayer->getName()))); } else { - appendHtmlServerMessage((isFemale(player) - ? tr("%1 reveals %2.", "female") - : tr("%1 reveals %2.", "male") + appendHtmlServerMessage(( + tr("%1 reveals %2.") ).arg(sanitizeHtml(player->getName())) .arg(zone->getTranslatedName(true, CaseRevealZone))); } } else if (cardId == -2) { if (otherPlayer) { - if (isFemale(player)) { - if (isFemale(otherPlayer)) - str = tr("%1 randomly reveals %2%3 to %4.", "p1 female, p2 female"); - else - str = tr("%1 randomly reveals %2%3 to %4.", "p1 female, p2 male"); - } else { - if (isFemale(otherPlayer)) - str = tr("%1 randomly reveals %2%3 to %4.", "p1 male, p2 female"); - else - str = tr("%1 randomly reveals %2%3 to %4.", "p1 male, p2 male"); - } + + str = tr("%1 randomly reveals %2%3 to %4."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName()))); } else { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 randomly reveals %2%3.", "female").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr)); - else - appendHtmlServerMessage(tr("%1 randomly reveals %2%3.", "male").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr)); + appendHtmlServerMessage(tr("%1 randomly reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr)); } } else { if (faceDown && (player == otherPlayer)) { if (cardName.isEmpty()) { - if (isFemale(player)) - str = tr("%1 peeks at face down card #%2.", "female"); - else - str = tr("%1 peeks at face down card #%2.", "male"); + str = tr("%1 peeks at face down card #%2."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardId)); } else { - if (isFemale(player)) - str = tr("%1 peeks at face down card #%2: %3.", "female"); - else - str = tr("%1 peeks at face down card #%2: %3.", "male"); + str = tr("%1 peeks at face down card #%2: %3."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardId).arg(cardStr)); } } else if (otherPlayer) { - if (isFemale(player)) { - if (isFemale(otherPlayer)) - str = tr("%1 reveals %2%3 to %4.", "p1 female, p2 female"); - else - str = tr("%1 reveals %2%3 to %4.", "p1 female, p2 male"); - } else { - if (isFemale(otherPlayer)) - str = tr("%1 reveals %2%3 to %4.", "p1 male, p2 female"); - else - str = tr("%1 reveals %2%3 to %4.", "p1 male, p2 male"); - } + + str = tr("%1 reveals %2%3 to %4."); appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName()))); } else { - if (isFemale(player)) - appendHtmlServerMessage(tr("%1 reveals %2%3.", "female").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr)); - else - appendHtmlServerMessage(tr("%1 reveals %2%3.", "male").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr)); + appendHtmlServerMessage(tr("%1 reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr)); } } } @@ -810,12 +556,9 @@ void MessageLogWidget::logAlwaysRevealTopCard(Player *player, CardZone *zone, bo void MessageLogWidget::logSetActivePlayer(Player *player) { - + QString str; - if (isFemale(player)) - str = tr("It is now %1's turn.", "female"); - else - str = tr("It is now %1's turn.", "male"); + str = tr("It is now %1's turn."); appendHtml("
" + QDateTime::currentDateTime().toString("[hh:mm:ss] ") + str.arg(player->getName()) + "
"); } @@ -863,7 +606,7 @@ void MessageLogWidget::containerProcessingDone() mulliganPlayer = 0; mulliganNumber = 0; } - + currentContext = MessageContext_None; } diff --git a/cockatrice/src/messagelogwidget.h b/cockatrice/src/messagelogwidget.h index cbd785ca..8a78c5f4 100644 --- a/cockatrice/src/messagelogwidget.h +++ b/cockatrice/src/messagelogwidget.h @@ -24,18 +24,16 @@ class MessageLogWidget : public ChatView { Q_OBJECT private: enum MessageContext { MessageContext_None, MessageContext_MoveCard, MessageContext_Mulligan }; - + QString sanitizeHtml(QString dirty) const; QString cardLink(const QString &cardName) const; - bool isFemale(Player *player) const; - bool userIsFemale() const; QPair getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const; MessageContext currentContext; - + QList moveCardQueue; QMap moveCardPT; QMap moveCardTapped; - + Player *mulliganPlayer; int mulliganNumber; public slots: diff --git a/cockatrice/src/pixmapgenerator.cpp b/cockatrice/src/pixmapgenerator.cpp index b9b5d927..687c63a7 100644 --- a/cockatrice/src/pixmapgenerator.cpp +++ b/cockatrice/src/pixmapgenerator.cpp @@ -14,7 +14,7 @@ QPixmap PhasePixmapGenerator::generatePixmap(int height, QString name) QString key = name + QString::number(height); if (pmCache.contains(key)) return pmCache.value(key); - + QPixmap pixmap = QPixmap("theme:phases/" + name).scaled(height, height, Qt::KeepAspectRatio, Qt::SmoothTransformation); pmCache.insert(key, pixmap); @@ -30,7 +30,7 @@ QPixmap CounterPixmapGenerator::generatePixmap(int height, QString name, bool hi QString key = name + QString::number(height); if (pmCache.contains(key)) return pmCache.value(key); - + QPixmap pixmap = QPixmap("theme:counters/" + name).scaled(height, height, Qt::KeepAspectRatio, Qt::SmoothTransformation); if(pixmap.isNull()) { @@ -38,7 +38,7 @@ QPixmap CounterPixmapGenerator::generatePixmap(int height, QString name, bool hi if (highlight) name.append("_highlight"); pixmap = QPixmap("theme:counters/" + name).scaled(height, height, Qt::KeepAspectRatio, Qt::SmoothTransformation); - + } pmCache.insert(key, pixmap); @@ -50,7 +50,7 @@ QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max) int key = size * 1000000 + max * 1000 + value; if (pmCache.contains(key)) return pmCache.value(key); - + QPixmap pixmap(size, size); pixmap.fill(Qt::transparent); QPainter painter(&pixmap); @@ -59,12 +59,12 @@ QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max) color = Qt::black; else color.setHsv(120 * (1.0 - ((double) value / max)), 255, 255); - + QRadialGradient g(QPointF((double) pixmap.width() / 2, (double) pixmap.height() / 2), qMin(pixmap.width(), pixmap.height()) / 2.0); g.setColorAt(0, color); g.setColorAt(1, Qt::transparent); painter.fillRect(0, 0, pixmap.width(), pixmap.height(), QBrush(g)); - + pmCache.insert(key, pixmap); return pixmap; @@ -72,22 +72,17 @@ QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max) QMap PingPixmapGenerator::pmCache; -QPixmap GenderPixmapGenerator::generatePixmap(int height, int _gender) +QPixmap GenderPixmapGenerator::generatePixmap(int height) { - ServerInfo_User::Gender gender = static_cast(_gender); - if ((gender != ServerInfo_User::Male) && (gender != ServerInfo_User::Female)) - gender = ServerInfo_User::GenderUnknown; - + ServerInfo_User::Gender gender = ServerInfo_User::GenderUnknown; + int key = gender * 100000 + height; if (pmCache.contains(key)) return pmCache.value(key); - + QString genderStr; - switch (gender) { - case ServerInfo_User::Male: genderStr = "male"; break; - case ServerInfo_User::Female: genderStr = "female"; break; - default: genderStr = "unknown"; - }; + genderStr = "unknown"; + QPixmap pixmap = QPixmap("theme:genders/" + genderStr).scaled(height, height, Qt::KeepAspectRatio, Qt::SmoothTransformation); pmCache.insert(key, pixmap); @@ -103,14 +98,14 @@ QPixmap CountryPixmapGenerator::generatePixmap(int height, const QString &countr QString key = countryCode + QString::number(height); if (pmCache.contains(key)) return pmCache.value(key); - + int width = height * 2; QPixmap pixmap = QPixmap("theme:countries/" + countryCode.toLower()).scaled(width, height, Qt::KeepAspectRatio, Qt::SmoothTransformation); QPainter painter(&pixmap); painter.setPen(Qt::black); painter.drawRect(0, 0, pixmap.width() - 1, pixmap.height() - 1); - + pmCache.insert(key, pixmap); return pixmap; } diff --git a/cockatrice/src/pixmapgenerator.h b/cockatrice/src/pixmapgenerator.h index a4e8dfc0..6b8f1eb2 100644 --- a/cockatrice/src/pixmapgenerator.h +++ b/cockatrice/src/pixmapgenerator.h @@ -34,7 +34,7 @@ class GenderPixmapGenerator { private: static QMap pmCache; public: - static QPixmap generatePixmap(int height, int gender); + static QPixmap generatePixmap(int height); static void clear() { pmCache.clear(); } }; diff --git a/cockatrice/src/userinfobox.cpp b/cockatrice/src/userinfobox.cpp index 6e590be5..4b12a7a9 100644 --- a/cockatrice/src/userinfobox.cpp +++ b/cockatrice/src/userinfobox.cpp @@ -29,14 +29,12 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _editable, QWidget *paren avatarLabel.setMaximumWidth(400); avatarLabel.setMaximumHeight(200); - + QGridLayout *mainLayout = new QGridLayout; mainLayout->addWidget(&avatarLabel, 0, 0, 1, 3, Qt::AlignCenter); mainLayout->addWidget(&nameLabel, 1, 0, 1, 3); mainLayout->addWidget(&realNameLabel1, 2, 0, 1, 1); mainLayout->addWidget(&realNameLabel2, 2, 1, 1, 2); - mainLayout->addWidget(&genderLabel1, 3, 0, 1, 1); - mainLayout->addWidget(&genderLabel2, 3, 1, 1, 2); mainLayout->addWidget(&countryLabel1, 4, 0, 1, 1); mainLayout->addWidget(&countryLabel2, 4, 1, 1, 2); mainLayout->addWidget(&countryLabel3, 4, 2, 1, 1); @@ -59,7 +57,7 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _editable, QWidget *paren connect(&passwordButton, SIGNAL(clicked()), this, SLOT(actPassword())); connect(&avatarButton, SIGNAL(clicked()), this, SLOT(actAvatar())); } - + setWindowTitle(tr("User information")); setLayout(mainLayout); retranslateUi(); @@ -68,7 +66,6 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _editable, QWidget *paren void UserInfoBox::retranslateUi() { realNameLabel1.setText(tr("Real name:")); - genderLabel1.setText(tr("Pronouns:")); countryLabel1.setText(tr("Location:")); userLevelLabel1.setText(tr("User level:")); accountAgeLebel1.setText(tr("Account Age:")); @@ -81,16 +78,15 @@ void UserInfoBox::retranslateUi() void UserInfoBox::updateInfo(const ServerInfo_User &user) { const UserLevelFlags userLevel(user.user_level()); - + QPixmap avatarPixmap; const std::string bmp = user.avatar_bmp(); if (!avatarPixmap.loadFromData((const uchar *) bmp.data(), bmp.size())) avatarPixmap = UserLevelPixmapGenerator::generatePixmap(64, userLevel, false); avatarLabel.setPixmap(avatarPixmap.scaled(avatarLabel.size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); - + nameLabel.setText(QString::fromStdString(user.name())); realNameLabel2.setText(QString::fromStdString(user.real_name())); - genderLabel2.setPixmap(GenderPixmapGenerator::generatePixmap(15, user.gender())); QString country = QString::fromStdString(user.country()); if (country.length() != 0) @@ -103,7 +99,7 @@ void UserInfoBox::updateInfo(const ServerInfo_User &user) countryLabel2.setText(""); countryLabel3.setText(""); } - + userLevelLabel2.setPixmap(UserLevelPixmapGenerator::generatePixmap(15, userLevel, false)); QString userLevelText; if (userLevel.testFlag(ServerInfo_User::IsAdmin)) @@ -118,7 +114,7 @@ void UserInfoBox::updateInfo(const ServerInfo_User &user) QString accountAgeString = tr("Unregistered user"); if (userLevel.testFlag(ServerInfo_User::IsAdmin) || userLevel.testFlag(ServerInfo_User::IsModerator) || userLevel.testFlag(ServerInfo_User::IsRegistered)) { - if (user.accountage_secs() == 0) + if (user.accountage_secs() == 0) accountAgeString = tr("Unknown"); else { qint64 seconds = user.accountage_secs(); @@ -148,10 +144,10 @@ void UserInfoBox::updateInfo(const QString &userName) { Command_GetUserInfo cmd; cmd.set_user_name(userName.toStdString()); - + PendingCommand *pend = client->prepareSessionCommand(cmd); connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(processResponse(const Response &))); - + client->sendCommand(pend); } @@ -166,10 +162,10 @@ void UserInfoBox::processResponse(const Response &r) void UserInfoBox::actEdit() { Command_GetUserInfo cmd; - + PendingCommand *pend = client->prepareSessionCommand(cmd); connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(actEditInternal(const Response &))); - + client->sendCommand(pend); } @@ -179,11 +175,10 @@ void UserInfoBox::actEditInternal(const Response &r) const ServerInfo_User &user = response.user_info(); QString email = QString::fromStdString(user.email()); - int gender = user.gender(); QString country = QString::fromStdString(user.country()); QString realName = QString::fromStdString(user.real_name()); - DlgEditUser dlg(this, email, gender, country, realName); + DlgEditUser dlg(this, email, country, realName); if(!dlg.exec()) return; @@ -192,10 +187,10 @@ void UserInfoBox::actEditInternal(const Response &r) cmd.set_email(dlg.getEmail().toStdString()); cmd.set_gender((ServerInfo_User_Gender) dlg.getGender()); cmd.set_country(dlg.getCountry().toStdString()); - + PendingCommand *pend = client->prepareSessionCommand(cmd); connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(processEditResponse(const Response &))); - + client->sendCommand(pend); } @@ -208,10 +203,10 @@ void UserInfoBox::actPassword() Command_AccountPassword cmd; cmd.set_old_password(dlg.getOldPassword().toStdString()); cmd.set_new_password(dlg.getNewPassword().toStdString()); - + PendingCommand *pend = client->prepareSessionCommand(cmd); connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(processPasswordResponse(const Response &))); - + client->sendCommand(pend); } @@ -223,10 +218,10 @@ void UserInfoBox::actAvatar() Command_AccountImage cmd; cmd.set_image(dlg.getImage().data(), dlg.getImage().size()); - + PendingCommand *pend = client->prepareSessionCommand(cmd); connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(processAvatarResponse(const Response &))); - + client->sendCommand(pend); } @@ -284,4 +279,4 @@ void UserInfoBox::processAvatarResponse(const Response &r) QMessageBox::critical(this, tr("Error"), tr("An error occured while trying to updater your avatar.")); break; } -} \ No newline at end of file +} diff --git a/cockatrice/src/userinfobox.h b/cockatrice/src/userinfobox.h index 43ae7034..b06fbd1c 100644 --- a/cockatrice/src/userinfobox.h +++ b/cockatrice/src/userinfobox.h @@ -14,7 +14,7 @@ class UserInfoBox : public QWidget { private: AbstractClient *client; bool editable; - QLabel avatarLabel, nameLabel, realNameLabel1, realNameLabel2, genderLabel1, genderLabel2, countryLabel1, + QLabel avatarLabel, nameLabel, realNameLabel1, realNameLabel2, countryLabel1, countryLabel2, countryLabel3, userLevelLabel1, userLevelLabel2, userLevelLabel3, accountAgeLebel1, accountAgeLabel2; QPushButton editButton, passwordButton, avatarButton;