make client gender neutral
This commit is contained in:
parent
2e3966afce
commit
c01d526161
12 changed files with 185 additions and 515 deletions
|
@ -44,104 +44,63 @@ void CardZone::clearContents()
|
||||||
emit cardCountChanged();
|
emit cardCountChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CardZone::getTranslatedName(bool hisOwn, GrammaticalCase gc) const
|
QString CardZone::getTranslatedName(bool theirOwn, GrammaticalCase gc) const
|
||||||
{
|
{
|
||||||
QString ownerName = player->getName();
|
QString ownerName = player->getName();
|
||||||
bool female = player->getUserInfo()->gender() == ServerInfo_User::Female;
|
|
||||||
if (name == "hand")
|
if (name == "hand")
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their hand", "nominative")
|
||||||
? tr("her hand", "nominative, female owner")
|
: tr("%1's hand", "nominative").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
else if (name == "deck")
|
else if (name == "deck")
|
||||||
switch (gc) {
|
switch (gc) {
|
||||||
case CaseLookAtZone:
|
case CaseLookAtZone:
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their library", "look at zone")
|
||||||
? tr("her library", "look at zone, female owner")
|
: tr("%1's library", "look at zone").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
case CaseTopCardsOfZone:
|
case CaseTopCardsOfZone:
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("of their library", "top cards of zone,")
|
||||||
? tr("of her library", "top cards of zone, female owner")
|
: tr("of %1's library", "top cards of zone").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
case CaseRevealZone:
|
case CaseRevealZone:
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their library", "reveal zone")
|
||||||
? tr("her library", "reveal zone, female owner")
|
: tr("%1's library", "reveal zone").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
case CaseShuffleZone:
|
case CaseShuffleZone:
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their library", "shuffle")
|
||||||
? tr("her library", "shuffle, female owner")
|
: tr("%1's library", "shuffle").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their library", "nominative")
|
||||||
? tr("her library", "nominative, female owner")
|
: tr("%1's library", "nominative").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if (name == "grave")
|
else if (name == "grave")
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their graveyard", "nominative")
|
||||||
? tr("her graveyard", "nominative, female owner")
|
: tr("%1's graveyard", "nominative").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
else if (name == "rfg")
|
else if (name == "rfg")
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their exile", "nominative")
|
||||||
? tr("her exile", "nominative, female owner")
|
: tr("%1's exile", "nominative").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
else if (name == "sb")
|
else if (name == "sb")
|
||||||
switch (gc) {
|
switch (gc) {
|
||||||
case CaseLookAtZone:
|
case CaseLookAtZone:
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their sideboard", "look at zone")
|
||||||
? tr("her sideboard", "look at zone, female owner")
|
: tr("%1's sideboard", "look at zone").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
case CaseNominative:
|
case CaseNominative:
|
||||||
return female
|
return (theirOwn
|
||||||
? (hisOwn
|
? tr("their sideboard", "nominative")
|
||||||
? tr("her sideboard", "nominative, female owner")
|
: tr("%1's sideboard", "nominative").arg(ownerName)
|
||||||
: 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)
|
|
||||||
);
|
);
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
QMenu *getMenu() const { return menu; }
|
QMenu *getMenu() const { return menu; }
|
||||||
void setMenu(QMenu *_menu, QAction *_doubleClickAction = 0) { menu = _menu; doubleClickAction = _doubleClickAction; }
|
void setMenu(QMenu *_menu, QAction *_doubleClickAction = 0) { menu = _menu; doubleClickAction = _doubleClickAction; }
|
||||||
QString getName() const { return name; }
|
QString getName() const { return name; }
|
||||||
QString getTranslatedName(bool hisOwn, GrammaticalCase gc) const;
|
QString getTranslatedName(bool theirOwn, GrammaticalCase gc) const;
|
||||||
Player *getPlayer() const { return player; }
|
Player *getPlayer() const { return player; }
|
||||||
bool contentsKnown() const { return cards.getContentsKnown(); }
|
bool contentsKnown() const { return cards.getContentsKnown(); }
|
||||||
const CardList &getCards() const { return cards; }
|
const CardList &getCards() const { return cards; }
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
#include "dlg_edit_user.h"
|
#include "dlg_edit_user.h"
|
||||||
#include "settingscache.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)
|
: QDialog(parent)
|
||||||
{
|
{
|
||||||
emailLabel = new QLabel(tr("Email:"));
|
emailLabel = new QLabel(tr("Email:"));
|
||||||
|
@ -15,14 +15,6 @@ DlgEditUser::DlgEditUser(QWidget *parent, QString email, int gender, QString cou
|
||||||
emailLabel->setBuddy(emailEdit);
|
emailLabel->setBuddy(emailEdit);
|
||||||
emailEdit->setText(email);
|
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:"));
|
countryLabel = new QLabel(tr("Country:"));
|
||||||
countryEdit = new QComboBox();
|
countryEdit = new QComboBox();
|
||||||
countryLabel->setBuddy(countryEdit);
|
countryLabel->setBuddy(countryEdit);
|
||||||
|
@ -48,8 +40,6 @@ DlgEditUser::DlgEditUser(QWidget *parent, QString email, int gender, QString cou
|
||||||
QGridLayout *grid = new QGridLayout;
|
QGridLayout *grid = new QGridLayout;
|
||||||
grid->addWidget(emailLabel, 0, 0);
|
grid->addWidget(emailLabel, 0, 0);
|
||||||
grid->addWidget(emailEdit, 0, 1);
|
grid->addWidget(emailEdit, 0, 1);
|
||||||
grid->addWidget(genderLabel, 1, 0);
|
|
||||||
grid->addWidget(genderEdit, 1, 1);
|
|
||||||
grid->addWidget(countryLabel, 2, 0);
|
grid->addWidget(countryLabel, 2, 0);
|
||||||
grid->addWidget(countryEdit, 2, 1);
|
grid->addWidget(countryEdit, 2, 1);
|
||||||
grid->addWidget(realnameLabel, 3, 0);
|
grid->addWidget(realnameLabel, 3, 0);
|
||||||
|
|
|
@ -12,18 +12,18 @@ class QCheckBox;
|
||||||
class DlgEditUser : public QDialog {
|
class DlgEditUser : public QDialog {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
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(); }
|
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 getCountry() const { return countryEdit->currentIndex() == 0 ? "" : countryEdit->currentText(); }
|
||||||
QString getRealName() const { return realnameEdit->text(); }
|
QString getRealName() const { return realnameEdit->text(); }
|
||||||
private slots:
|
private slots:
|
||||||
void actOk();
|
void actOk();
|
||||||
void actCancel();
|
void actCancel();
|
||||||
private:
|
private:
|
||||||
QLabel *emailLabel, *genderLabel, *countryLabel, *realnameLabel;
|
QLabel *emailLabel, *countryLabel, *realnameLabel;
|
||||||
QLineEdit *emailEdit, *realnameEdit;
|
QLineEdit *emailEdit, *realnameEdit;
|
||||||
QComboBox *genderEdit, *countryEdit;
|
QComboBox *countryEdit;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -43,14 +43,6 @@ DlgRegister::DlgRegister(QWidget *parent)
|
||||||
emailConfirmationEdit = new QLineEdit();
|
emailConfirmationEdit = new QLineEdit();
|
||||||
emailConfirmationLabel->setBuddy(emailConfirmationEdit);
|
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:"));
|
countryLabel = new QLabel(tr("Country:"));
|
||||||
countryEdit = new QComboBox();
|
countryEdit = new QComboBox();
|
||||||
countryLabel->setBuddy(countryEdit);
|
countryLabel->setBuddy(countryEdit);
|
||||||
|
@ -328,8 +320,6 @@ DlgRegister::DlgRegister(QWidget *parent)
|
||||||
grid->addWidget(emailEdit, 5, 1);
|
grid->addWidget(emailEdit, 5, 1);
|
||||||
grid->addWidget(emailConfirmationLabel, 6, 0);
|
grid->addWidget(emailConfirmationLabel, 6, 0);
|
||||||
grid->addWidget(emailConfirmationEdit, 6, 1);
|
grid->addWidget(emailConfirmationEdit, 6, 1);
|
||||||
grid->addWidget(genderLabel, 7, 0);
|
|
||||||
grid->addWidget(genderEdit, 7, 1);
|
|
||||||
grid->addWidget(countryLabel, 8, 0);
|
grid->addWidget(countryLabel, 8, 0);
|
||||||
grid->addWidget(countryEdit, 8, 1);
|
grid->addWidget(countryEdit, 8, 1);
|
||||||
grid->addWidget(realnameLabel, 9, 0);
|
grid->addWidget(realnameLabel, 9, 0);
|
||||||
|
|
|
@ -18,16 +18,16 @@ public:
|
||||||
QString getPlayerName() const { return playernameEdit->text(); }
|
QString getPlayerName() const { return playernameEdit->text(); }
|
||||||
QString getPassword() const { return passwordEdit->text(); }
|
QString getPassword() const { return passwordEdit->text(); }
|
||||||
QString getEmail() const { return emailEdit->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 getCountry() const { return countryEdit->currentIndex() == 0 ? "" : countryEdit->currentText(); }
|
||||||
QString getRealName() const { return realnameEdit->text(); }
|
QString getRealName() const { return realnameEdit->text(); }
|
||||||
private slots:
|
private slots:
|
||||||
void actOk();
|
void actOk();
|
||||||
void actCancel();
|
void actCancel();
|
||||||
private:
|
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;
|
QLineEdit *hostEdit, *portEdit, *playernameEdit, *passwordEdit, *passwordConfirmationEdit, *emailEdit, *emailConfirmationEdit, *realnameEdit;
|
||||||
QComboBox *genderEdit, *countryEdit;
|
QComboBox *countryEdit;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -25,49 +25,27 @@ QString MessageLogWidget::cardLink(const QString &cardName) const
|
||||||
return QString("<i><a href=\"card://%1\">%2</a></i>").arg(cardName).arg(cardName);
|
return QString("<i><a href=\"card://%1\">%2</a></i>").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)
|
void MessageLogWidget::logGameJoined(int gameId)
|
||||||
{
|
{
|
||||||
soundEngine->playSound("player_join");
|
soundEngine->playSound("player_join");
|
||||||
if (userIsFemale())
|
appendHtmlServerMessage(tr("You have joined game #%1.").arg("<font color=\"blue\">"+ QString::number(gameId) + "</font>"));
|
||||||
appendHtmlServerMessage(tr("You have joined game #%1.", "female").arg("<font color=\"blue\">"+ QString::number(gameId) + "</font>"));
|
|
||||||
else
|
|
||||||
appendHtmlServerMessage(tr("You have joined game #%1.", "male").arg("<font color=\"blue\">"+ QString::number(gameId) + "</font>"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logReplayStarted(int gameId)
|
void MessageLogWidget::logReplayStarted(int gameId)
|
||||||
{
|
{
|
||||||
if (userIsFemale())
|
appendHtmlServerMessage(tr("You are watching a replay of game #%1.").arg(gameId));
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logJoin(Player *player)
|
void MessageLogWidget::logJoin(Player *player)
|
||||||
{
|
{
|
||||||
soundEngine->playSound("player_join");
|
soundEngine->playSound("player_join");
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 has joined the game.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logLeave(Player *player)
|
void MessageLogWidget::logLeave(Player *player)
|
||||||
{
|
{
|
||||||
soundEngine->playSound("player_leave");
|
soundEngine->playSound("player_leave");
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 has left the game.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logGameClosed()
|
void MessageLogWidget::logGameClosed()
|
||||||
|
@ -94,11 +72,10 @@ void MessageLogWidget::logLeaveSpectator(QString name)
|
||||||
|
|
||||||
void MessageLogWidget::logDeckSelect(Player *player, QString deckHash, int sideboardSize)
|
void MessageLogWidget::logDeckSelect(Player *player, QString deckHash, int sideboardSize)
|
||||||
{
|
{
|
||||||
const char* gender = isFemale(player) ? "female" : "male";
|
|
||||||
if (sideboardSize < 0)
|
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
|
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(sanitizeHtml(player->getName())).
|
||||||
arg("<font color=\"blue\">" + QString::number(sideboardSize) + "</font>").
|
arg("<font color=\"blue\">" + QString::number(sideboardSize) + "</font>").
|
||||||
arg(deckHash));
|
arg(deckHash));
|
||||||
|
@ -106,42 +83,27 @@ void MessageLogWidget::logDeckSelect(Player *player, QString deckHash, int sideb
|
||||||
|
|
||||||
void MessageLogWidget::logReadyStart(Player *player)
|
void MessageLogWidget::logReadyStart(Player *player)
|
||||||
{
|
{
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 is ready to start the game.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logNotReadyStart(Player *player)
|
void MessageLogWidget::logNotReadyStart(Player *player)
|
||||||
{
|
{
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 is not ready to start the game any more.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetSideboardLock(Player *player, bool locked)
|
void MessageLogWidget::logSetSideboardLock(Player *player, bool locked)
|
||||||
{
|
{
|
||||||
if (locked) {
|
if (locked) {
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 has locked their sideboard.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 has unlocked their sideboard.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logConcede(Player *player)
|
void MessageLogWidget::logConcede(Player *player)
|
||||||
{
|
{
|
||||||
soundEngine->playSound("player_concede");
|
soundEngine->playSound("player_concede");
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 has conceded the game.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logGameStart()
|
void MessageLogWidget::logGameStart()
|
||||||
|
@ -153,16 +115,10 @@ void MessageLogWidget::logConnectionStateChanged(Player *player, bool connection
|
||||||
{
|
{
|
||||||
if (connectionState) {
|
if (connectionState) {
|
||||||
soundEngine->playSound("player_reconnect");
|
soundEngine->playSound("player_reconnect");
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 has restored connection to the game.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
} else {
|
} else {
|
||||||
soundEngine->playSound("player_disconnect");
|
soundEngine->playSound("player_disconnect");
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 has lost connection to the game.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,10 +136,9 @@ void MessageLogWidget::logShuffle(Player *player, CardZone *zone)
|
||||||
{
|
{
|
||||||
soundEngine->playSound("shuffle");
|
soundEngine->playSound("shuffle");
|
||||||
if (currentContext != MessageContext_Mulligan) {
|
if (currentContext != MessageContext_Mulligan) {
|
||||||
appendHtmlServerMessage((isFemale(player)
|
appendHtmlServerMessage(
|
||||||
? tr("%1 shuffles %2.", "female")
|
tr("%1 shuffles %2.")
|
||||||
: tr("%1 shuffles %2.", "male")
|
.arg(sanitizeHtml(player->getName()))
|
||||||
).arg(sanitizeHtml(player->getName()))
|
|
||||||
.arg(zone->getTranslatedName(true, CaseShuffleZone)));
|
.arg(zone->getTranslatedName(true, CaseShuffleZone)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -194,14 +149,9 @@ void MessageLogWidget::logRollDie(Player *player, int sides, int roll)
|
||||||
soundEngine->playSound("roll_dice");
|
soundEngine->playSound("roll_dice");
|
||||||
|
|
||||||
if (sides == 2)
|
if (sides == 2)
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 flipped a coin. It landed as %2.").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + coinOptions[roll - 1] + "</font>"));
|
||||||
appendHtmlServerMessage(tr("%1 flipped a coin. It landed as %2.", "female").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + coinOptions[roll - 1] + "</font>"));
|
|
||||||
else
|
|
||||||
appendHtmlServerMessage(tr("%1 flipped a coin. It landed as %2.", "male").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + coinOptions[roll - 1] + "</font>"));
|
|
||||||
else if (isFemale(player))
|
|
||||||
appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "female").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(roll) + "</font>").arg("<font color=\"blue\">" + QString::number(sides) + "</font>"));
|
|
||||||
else
|
else
|
||||||
appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "male").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(roll) + "</font>").arg("<font color=\"blue\">" + QString::number(sides) + "</font>"));
|
appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(roll) + "</font>").arg("<font color=\"blue\">" + QString::number(sides) + "</font>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logDrawCards(Player *player, int number)
|
void MessageLogWidget::logDrawCards(Player *player, int number)
|
||||||
|
@ -210,19 +160,16 @@ void MessageLogWidget::logDrawCards(Player *player, int number)
|
||||||
mulliganPlayer = player;
|
mulliganPlayer = player;
|
||||||
else {
|
else {
|
||||||
soundEngine->playSound("draw_card");
|
soundEngine->playSound("draw_card");
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 draws %2 card(s).").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(number) + "</font>"));
|
||||||
appendHtmlServerMessage(tr("%1 draws %2 card(s).", "female").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(number) + "</font>"));
|
|
||||||
else
|
|
||||||
appendHtmlServerMessage(tr("%1 draws %2 card(s).", "male").arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(number) + "</font>"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logUndoDraw(Player *player, QString cardName)
|
void MessageLogWidget::logUndoDraw(Player *player, QString cardName)
|
||||||
{
|
{
|
||||||
if (cardName.isEmpty())
|
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
|
else
|
||||||
appendHtmlServerMessage((isFemale(player) ? tr("%1 undoes her last draw (%2).") : tr("%1 undoes his last draw (%2).")).arg(sanitizeHtml(player->getName())).arg(QString("<a href=\"card://%1\">%2</a>").arg(sanitizeHtml(cardName)).arg(sanitizeHtml(cardName))));
|
appendHtmlServerMessage(tr("%1 undoes their last draw (%2).").arg(sanitizeHtml(player->getName())).arg(QString("<a href=\"card://%1\">%2</a>").arg(sanitizeHtml(cardName)).arg(sanitizeHtml(cardName))));
|
||||||
}
|
}
|
||||||
|
|
||||||
QPair<QString, QString> MessageLogWidget::getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const
|
QPair<QString, QString> MessageLogWidget::getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const
|
||||||
|
@ -234,43 +181,43 @@ QPair<QString, QString> MessageLogWidget::getFromStr(CardZone *zone, QString car
|
||||||
if (startName == "table")
|
if (startName == "table")
|
||||||
fromStr = tr(" from play");
|
fromStr = tr(" from play");
|
||||||
else if (startName == "grave")
|
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")
|
else if (startName == "rfg")
|
||||||
fromStr = tr(" from exile");
|
fromStr = tr(" from exile");
|
||||||
else if (startName == "hand")
|
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") {
|
else if (startName == "deck") {
|
||||||
if (position == 0) {
|
if (position == 0) {
|
||||||
if (cardName.isEmpty()) {
|
if (cardName.isEmpty()) {
|
||||||
if (ownerChange)
|
if (ownerChange)
|
||||||
cardName = tr("the top card of %1's library").arg(zone->getPlayer()->getName());
|
cardName = tr("the top card of %1's library").arg(zone->getPlayer()->getName());
|
||||||
else
|
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;
|
cardNameContainsStartZone = true;
|
||||||
} else {
|
} else {
|
||||||
if (ownerChange)
|
if (ownerChange)
|
||||||
fromStr = tr(" from the top of %1's library").arg(zone->getPlayer()->getName());
|
fromStr = tr(" from the top of %1's library").arg(zone->getPlayer()->getName());
|
||||||
else
|
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) {
|
} else if (position >= zone->getCards().size() - 1) {
|
||||||
if (cardName.isEmpty()) {
|
if (cardName.isEmpty()) {
|
||||||
if (ownerChange)
|
if (ownerChange)
|
||||||
cardName = tr("the bottom card of %1's library").arg(zone->getPlayer()->getName());
|
cardName = tr("the bottom card of %1's library").arg(zone->getPlayer()->getName());
|
||||||
else
|
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;
|
cardNameContainsStartZone = true;
|
||||||
} else {
|
} else {
|
||||||
if (ownerChange)
|
if (ownerChange)
|
||||||
fromStr = tr(" from the bottom of %1's library").arg(zone->getPlayer()->getName());
|
fromStr = tr(" from the bottom of %1's library").arg(zone->getPlayer()->getName());
|
||||||
else
|
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 {
|
} else {
|
||||||
if (ownerChange)
|
if (ownerChange)
|
||||||
fromStr = tr(" from %1's library").arg(zone->getPlayer()->getName());
|
fromStr = tr(" from %1's library").arg(zone->getPlayer()->getName());
|
||||||
else
|
else
|
||||||
fromStr = tr(" from library");
|
fromStr = tr(" from their library");
|
||||||
}
|
}
|
||||||
} else if (startName == "sb")
|
} else if (startName == "sb")
|
||||||
fromStr = tr(" from sideboard");
|
fromStr = tr(" from sideboard");
|
||||||
|
@ -318,20 +265,20 @@ void MessageLogWidget::doMoveCard(LogMoveCard &attributes)
|
||||||
else
|
else
|
||||||
finalStr = tr("%1 puts %2 into play%3.");
|
finalStr = tr("%1 puts %2 into play%3.");
|
||||||
} else if (targetName == "grave")
|
} 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")
|
else if (targetName == "rfg")
|
||||||
finalStr = tr("%1 exiles %2%3.");
|
finalStr = tr("%1 exiles %2%3.");
|
||||||
else if (targetName == "hand")
|
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") {
|
else if (targetName == "deck") {
|
||||||
if (attributes.newX == -1)
|
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)
|
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)
|
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
|
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")
|
} else if (targetName == "sb")
|
||||||
finalStr = tr("%1 moves %2%3 to sideboard.");
|
finalStr = tr("%1 moves %2%3 to sideboard.");
|
||||||
else if (targetName == "stack") {
|
else if (targetName == "stack") {
|
||||||
|
@ -359,69 +306,41 @@ void MessageLogWidget::logMulligan(Player *player, int number)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (number > -1) {
|
if (number > -1) {
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 takes a mulligan to %2.").arg(sanitizeHtml(player->getName())).arg(number));
|
||||||
appendHtmlServerMessage(tr("%1 takes a mulligan to %n.", "female", number).arg(sanitizeHtml(player->getName())));
|
} else {
|
||||||
else
|
appendHtmlServerMessage(tr("%1 draws their initial hand.").arg(sanitizeHtml(player->getName())));
|
||||||
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())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logFlipCard(Player *player, QString cardName, bool faceDown)
|
void MessageLogWidget::logFlipCard(Player *player, QString cardName, bool faceDown)
|
||||||
{
|
{
|
||||||
if (faceDown) {
|
if (faceDown) {
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 flips %2 face-down.").arg(sanitizeHtml(player->getName())).arg(cardName));
|
||||||
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));
|
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 flips %2 face-up.").arg(sanitizeHtml(player->getName())).arg(cardName));
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logDestroyCard(Player *player, QString cardName)
|
void MessageLogWidget::logDestroyCard(Player *player, QString cardName)
|
||||||
{
|
{
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 destroys %2.").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)));
|
||||||
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)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName)
|
void MessageLogWidget::logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName)
|
||||||
{
|
{
|
||||||
QString str;
|
QString str;
|
||||||
if (isFemale(player)) {
|
str = tr("%1 attaches %2 to %3's %4.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)).arg(sanitizeHtml(targetPlayer->getName())).arg(cardLink(targetCardName)));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)).arg(sanitizeHtml(targetPlayer->getName())).arg(cardLink(targetCardName)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logUnattachCard(Player *player, QString cardName)
|
void MessageLogWidget::logUnattachCard(Player *player, QString cardName)
|
||||||
{
|
{
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 unattaches %2.").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)));
|
||||||
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)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logCreateToken(Player *player, QString cardName, QString pt)
|
void MessageLogWidget::logCreateToken(Player *player, QString cardName, QString pt)
|
||||||
{
|
{
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 creates token: %2%3.").arg(sanitizeHtml(player->getName())).arg(cardLink(cardName)).arg(pt.isEmpty() ? QString() : QString(" (%1)").arg(sanitizeHtml(pt))));
|
||||||
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))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logCreateArrow(Player *player, Player *startPlayer, QString startCard, Player *targetPlayer, QString targetCard, bool playerTarget)
|
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;
|
QString str;
|
||||||
if (playerTarget) {
|
if (playerTarget) {
|
||||||
if ((player == startPlayer) && (player == targetPlayer)) {
|
if ((player == startPlayer) && (player == targetPlayer)) {
|
||||||
if (isFemale(player))
|
str = tr("%1 points from their %2 to themselves.");
|
||||||
str = tr("%1 points from her %2 to herself.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 points from his %2 to himself.", "male");
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard));
|
||||||
} else if (player == startPlayer) {
|
} else if (player == startPlayer) {
|
||||||
if (isFemale(player)) {
|
str = tr("%1 points from their %2 to %3.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())));
|
||||||
} else if (player == targetPlayer) {
|
} else if (player == targetPlayer) {
|
||||||
if (isFemale(player)) {
|
str = tr("%1 points from %2's %3 to themselves.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard));
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player)) {
|
str = tr("%1 points from %2's %3 to %4.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((player == startPlayer) && (player == targetPlayer)) {
|
if ((player == startPlayer) && (player == targetPlayer)) {
|
||||||
if (isFemale(player))
|
str = tr("%1 points from their %2 to their %3.");
|
||||||
str = tr("%1 points from her %2 to her %3.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 points from his %2 to his %3.", "male");
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(targetCard));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(targetCard));
|
||||||
} else if (player == startPlayer) {
|
} else if (player == startPlayer) {
|
||||||
if (isFemale(player)) {
|
str = tr("%1 points from their %2 to %3's %4.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())).arg(targetCard));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())).arg(targetCard));
|
||||||
} else if (player == targetPlayer) {
|
} else if (player == targetPlayer) {
|
||||||
if (isFemale(player)) {
|
str = tr("%1 points from %2's %3 to their own %4.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(targetCard));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(targetCard));
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player)) {
|
str = tr("%1 points from %2's %3 to %4's %5.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())).arg(targetCard));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())).arg(targetCard));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -560,15 +385,9 @@ void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int c
|
||||||
|
|
||||||
int delta = abs(oldValue - value);
|
int delta = abs(oldValue - value);
|
||||||
if (value > oldValue) {
|
if (value > oldValue) {
|
||||||
if (isFemale(player))
|
finalStr = tr("%1 places %2 %3 counter(s) on %4 (now %5).");
|
||||||
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");
|
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player))
|
finalStr = tr("%1 removes %2 %3 counter(s) from %4 (now %5).");
|
||||||
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");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (counterId) {
|
switch (counterId) {
|
||||||
|
@ -593,30 +412,16 @@ void MessageLogWidget::logSetTapped(Player *player, CardItem *card, bool tapped)
|
||||||
else {
|
else {
|
||||||
QString str;
|
QString str;
|
||||||
if (!card) {
|
if (!card) {
|
||||||
if (isFemale(player)) {
|
|
||||||
if (tapped)
|
if (tapped)
|
||||||
str = tr("%1 taps her permanents.", "female");
|
str = tr("%1 taps their permanents.");
|
||||||
else
|
else
|
||||||
str = tr("%1 untaps her permanents.", "female");
|
str = tr("%1 untaps their permanents.");
|
||||||
} else {
|
|
||||||
if (tapped)
|
|
||||||
str = tr("%1 taps his permanents.", "male");
|
|
||||||
else
|
|
||||||
str = tr("%1 untaps his permanents.", "male");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())));
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player)) {
|
|
||||||
if (tapped)
|
if (tapped)
|
||||||
str = tr("%1 taps %2.", "female");
|
str = tr("%1 taps %2.");
|
||||||
else
|
else
|
||||||
str = tr("%1 untaps %2.", "female");
|
str = tr("%1 untaps %2.");
|
||||||
} else {
|
|
||||||
if (tapped)
|
|
||||||
str = tr("%1 taps %2.", "male");
|
|
||||||
else
|
|
||||||
str = tr("%1 untaps %2.", "male");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -628,10 +433,7 @@ void MessageLogWidget::logSetCounter(Player *player, QString counterName, int va
|
||||||
soundEngine->playSound("life_change");
|
soundEngine->playSound("life_change");
|
||||||
|
|
||||||
QString str;
|
QString str;
|
||||||
if (isFemale(player))
|
str = tr("%1 sets counter %2 to %3 (%4%5).");
|
||||||
str = tr("%1 sets counter %2 to %3 (%4%5).", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 sets counter %2 to %3 (%4%5).", "male");
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(counterName))).arg(QString("<font color=\"blue\">%1</font>").arg(value)).arg(value > oldValue ? "+" : "").arg(value - oldValue));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(counterName))).arg(QString("<font color=\"blue\">%1</font>").arg(value)).arg(value > oldValue ? "+" : "").arg(value - oldValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -639,15 +441,9 @@ void MessageLogWidget::logSetDoesntUntap(Player *player, CardItem *card, bool do
|
||||||
{
|
{
|
||||||
QString str;
|
QString str;
|
||||||
if (doesntUntap) {
|
if (doesntUntap) {
|
||||||
if (isFemale(player))
|
str = tr("%1 sets %2 to not untap normally.");
|
||||||
str = tr("%1 sets %2 to not untap normally.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 sets %2 to not untap normally.", "male");
|
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player))
|
str = tr("%1 sets %2 to untap normally.");
|
||||||
str = tr("%1 sets %2 to untap normally.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 sets %2 to untap normally.", "male");
|
|
||||||
}
|
}
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())));
|
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);
|
moveCardPT.insert(card, newPT);
|
||||||
else {
|
else {
|
||||||
QString str;
|
QString str;
|
||||||
if (isFemale(player))
|
str = tr("%1 sets PT of %2 to %3.");
|
||||||
str = tr("%1 sets PT of %2 to %3.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 sets PT of %2 to %3.", "male");
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(newPT))));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())).arg(QString("<font color=\"blue\">%1</font>").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)
|
void MessageLogWidget::logSetAnnotation(Player *player, CardItem *card, QString newAnnotation)
|
||||||
{
|
{
|
||||||
QString str;
|
QString str;
|
||||||
if (isFemale(player))
|
str = tr("%1 sets annotation of %2 to %3.");
|
||||||
str = tr("%1 sets annotation of %2 to %3.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 sets annotation of %2 to %3.", "male");
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())).arg(QString(""<font color=\"blue\">%1</font>"").arg(sanitizeHtml(newAnnotation))));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardLink(card->getName())).arg(QString(""<font color=\"blue\">%1</font>"").arg(sanitizeHtml(newAnnotation))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logDumpZone(Player *player, CardZone *zone, int numberCards)
|
void MessageLogWidget::logDumpZone(Player *player, CardZone *zone, int numberCards)
|
||||||
{
|
{
|
||||||
if (numberCards == -1)
|
if (numberCards == -1)
|
||||||
appendHtmlServerMessage((isFemale(player)
|
appendHtmlServerMessage((
|
||||||
? tr("%1 is looking at %2.", "female")
|
tr("%1 is looking at %2.")
|
||||||
: tr("%1 is looking at %2.", "male")
|
|
||||||
).arg(sanitizeHtml(player->getName()))
|
).arg(sanitizeHtml(player->getName()))
|
||||||
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone)));
|
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone)));
|
||||||
else
|
else
|
||||||
appendHtmlServerMessage((isFemale(player)
|
appendHtmlServerMessage((
|
||||||
? tr("%1 is looking at the top %2 card(s) %3.", "female")
|
tr("%1 is looking at the top %2 card(s) %3.")
|
||||||
: tr("%1 is looking at the top %2 card(s) %3.", "male")
|
|
||||||
).arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(numberCards) + "</font>")
|
).arg(sanitizeHtml(player->getName())).arg("<font color=\"blue\">" + QString::number(numberCards) + "</font>")
|
||||||
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseTopCardsOfZone)));
|
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseTopCardsOfZone)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logStopDumpZone(Player *player, CardZone *zone)
|
void MessageLogWidget::logStopDumpZone(Player *player, CardZone *zone)
|
||||||
{
|
{
|
||||||
appendHtmlServerMessage((isFemale(player)
|
appendHtmlServerMessage(
|
||||||
? tr("%1 stops looking at %2.", "female")
|
tr("%1 stops looking at %2.")
|
||||||
: tr("%1 stops looking at %2.", "male")
|
.arg(sanitizeHtml(player->getName()))
|
||||||
).arg(sanitizeHtml(player->getName()))
|
|
||||||
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone)));
|
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -722,78 +509,37 @@ void MessageLogWidget::logRevealCards(Player *player, CardZone *zone, int cardId
|
||||||
QString str;
|
QString str;
|
||||||
if (cardId == -1) {
|
if (cardId == -1) {
|
||||||
if (otherPlayer) {
|
if (otherPlayer) {
|
||||||
if (isFemale(player)) {
|
str = tr("%1 reveals %2 to %3.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseRevealZone)).arg(sanitizeHtml(otherPlayer->getName())));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseRevealZone)).arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
} else {
|
} else {
|
||||||
appendHtmlServerMessage((isFemale(player)
|
appendHtmlServerMessage((
|
||||||
? tr("%1 reveals %2.", "female")
|
tr("%1 reveals %2.")
|
||||||
: tr("%1 reveals %2.", "male")
|
|
||||||
).arg(sanitizeHtml(player->getName()))
|
).arg(sanitizeHtml(player->getName()))
|
||||||
.arg(zone->getTranslatedName(true, CaseRevealZone)));
|
.arg(zone->getTranslatedName(true, CaseRevealZone)));
|
||||||
}
|
}
|
||||||
} else if (cardId == -2) {
|
} else if (cardId == -2) {
|
||||||
if (otherPlayer) {
|
if (otherPlayer) {
|
||||||
if (isFemale(player)) {
|
|
||||||
if (isFemale(otherPlayer))
|
str = tr("%1 randomly reveals %2%3 to %4.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 randomly reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (faceDown && (player == otherPlayer)) {
|
if (faceDown && (player == otherPlayer)) {
|
||||||
if (cardName.isEmpty()) {
|
if (cardName.isEmpty()) {
|
||||||
if (isFemale(player))
|
str = tr("%1 peeks at face down card #%2.");
|
||||||
str = tr("%1 peeks at face down card #%2.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 peeks at face down card #%2.", "male");
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardId));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardId));
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player))
|
str = tr("%1 peeks at face down card #%2: %3.");
|
||||||
str = tr("%1 peeks at face down card #%2: %3.", "female");
|
|
||||||
else
|
|
||||||
str = tr("%1 peeks at face down card #%2: %3.", "male");
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardId).arg(cardStr));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardId).arg(cardStr));
|
||||||
}
|
}
|
||||||
} else if (otherPlayer) {
|
} else if (otherPlayer) {
|
||||||
if (isFemale(player)) {
|
|
||||||
if (isFemale(otherPlayer))
|
str = tr("%1 reveals %2%3 to %4.");
|
||||||
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");
|
|
||||||
}
|
|
||||||
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
appendHtmlServerMessage(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
} else {
|
} else {
|
||||||
if (isFemale(player))
|
appendHtmlServerMessage(tr("%1 reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -812,10 +558,7 @@ void MessageLogWidget::logSetActivePlayer(Player *player)
|
||||||
{
|
{
|
||||||
|
|
||||||
QString str;
|
QString str;
|
||||||
if (isFemale(player))
|
str = tr("It is now %1's turn.");
|
||||||
str = tr("It is now %1's turn.", "female");
|
|
||||||
else
|
|
||||||
str = tr("It is now %1's turn.", "male");
|
|
||||||
appendHtml("<br><font color=\"green\"><b>" + QDateTime::currentDateTime().toString("[hh:mm:ss] ") + str.arg(player->getName()) + "</b></font><br>");
|
appendHtml("<br><font color=\"green\"><b>" + QDateTime::currentDateTime().toString("[hh:mm:ss] ") + str.arg(player->getName()) + "</b></font><br>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,6 @@ private:
|
||||||
|
|
||||||
QString sanitizeHtml(QString dirty) const;
|
QString sanitizeHtml(QString dirty) const;
|
||||||
QString cardLink(const QString &cardName) const;
|
QString cardLink(const QString &cardName) const;
|
||||||
bool isFemale(Player *player) const;
|
|
||||||
bool userIsFemale() const;
|
|
||||||
QPair<QString, QString> getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const;
|
QPair<QString, QString> getFromStr(CardZone *zone, QString cardName, int position, bool ownerChange) const;
|
||||||
MessageContext currentContext;
|
MessageContext currentContext;
|
||||||
|
|
||||||
|
|
|
@ -72,22 +72,17 @@ QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max)
|
||||||
|
|
||||||
QMap<int, QPixmap> PingPixmapGenerator::pmCache;
|
QMap<int, QPixmap> PingPixmapGenerator::pmCache;
|
||||||
|
|
||||||
QPixmap GenderPixmapGenerator::generatePixmap(int height, int _gender)
|
QPixmap GenderPixmapGenerator::generatePixmap(int height)
|
||||||
{
|
{
|
||||||
ServerInfo_User::Gender gender = static_cast<ServerInfo_User::Gender>(_gender);
|
ServerInfo_User::Gender gender = ServerInfo_User::GenderUnknown;
|
||||||
if ((gender != ServerInfo_User::Male) && (gender != ServerInfo_User::Female))
|
|
||||||
gender = ServerInfo_User::GenderUnknown;
|
|
||||||
|
|
||||||
int key = gender * 100000 + height;
|
int key = gender * 100000 + height;
|
||||||
if (pmCache.contains(key))
|
if (pmCache.contains(key))
|
||||||
return pmCache.value(key);
|
return pmCache.value(key);
|
||||||
|
|
||||||
QString genderStr;
|
QString genderStr;
|
||||||
switch (gender) {
|
genderStr = "unknown";
|
||||||
case ServerInfo_User::Male: genderStr = "male"; break;
|
|
||||||
case ServerInfo_User::Female: genderStr = "female"; break;
|
|
||||||
default: genderStr = "unknown";
|
|
||||||
};
|
|
||||||
|
|
||||||
QPixmap pixmap = QPixmap("theme:genders/" + genderStr).scaled(height, height, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
QPixmap pixmap = QPixmap("theme:genders/" + genderStr).scaled(height, height, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
pmCache.insert(key, pixmap);
|
pmCache.insert(key, pixmap);
|
||||||
|
|
|
@ -34,7 +34,7 @@ class GenderPixmapGenerator {
|
||||||
private:
|
private:
|
||||||
static QMap<int, QPixmap> pmCache;
|
static QMap<int, QPixmap> pmCache;
|
||||||
public:
|
public:
|
||||||
static QPixmap generatePixmap(int height, int gender);
|
static QPixmap generatePixmap(int height);
|
||||||
static void clear() { pmCache.clear(); }
|
static void clear() { pmCache.clear(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,6 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _editable, QWidget *paren
|
||||||
mainLayout->addWidget(&nameLabel, 1, 0, 1, 3);
|
mainLayout->addWidget(&nameLabel, 1, 0, 1, 3);
|
||||||
mainLayout->addWidget(&realNameLabel1, 2, 0, 1, 1);
|
mainLayout->addWidget(&realNameLabel1, 2, 0, 1, 1);
|
||||||
mainLayout->addWidget(&realNameLabel2, 2, 1, 1, 2);
|
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(&countryLabel1, 4, 0, 1, 1);
|
||||||
mainLayout->addWidget(&countryLabel2, 4, 1, 1, 2);
|
mainLayout->addWidget(&countryLabel2, 4, 1, 1, 2);
|
||||||
mainLayout->addWidget(&countryLabel3, 4, 2, 1, 1);
|
mainLayout->addWidget(&countryLabel3, 4, 2, 1, 1);
|
||||||
|
@ -68,7 +66,6 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _editable, QWidget *paren
|
||||||
void UserInfoBox::retranslateUi()
|
void UserInfoBox::retranslateUi()
|
||||||
{
|
{
|
||||||
realNameLabel1.setText(tr("Real name:"));
|
realNameLabel1.setText(tr("Real name:"));
|
||||||
genderLabel1.setText(tr("Pronouns:"));
|
|
||||||
countryLabel1.setText(tr("Location:"));
|
countryLabel1.setText(tr("Location:"));
|
||||||
userLevelLabel1.setText(tr("User level:"));
|
userLevelLabel1.setText(tr("User level:"));
|
||||||
accountAgeLebel1.setText(tr("Account Age:"));
|
accountAgeLebel1.setText(tr("Account Age:"));
|
||||||
|
@ -90,7 +87,6 @@ void UserInfoBox::updateInfo(const ServerInfo_User &user)
|
||||||
|
|
||||||
nameLabel.setText(QString::fromStdString(user.name()));
|
nameLabel.setText(QString::fromStdString(user.name()));
|
||||||
realNameLabel2.setText(QString::fromStdString(user.real_name()));
|
realNameLabel2.setText(QString::fromStdString(user.real_name()));
|
||||||
genderLabel2.setPixmap(GenderPixmapGenerator::generatePixmap(15, user.gender()));
|
|
||||||
QString country = QString::fromStdString(user.country());
|
QString country = QString::fromStdString(user.country());
|
||||||
|
|
||||||
if (country.length() != 0)
|
if (country.length() != 0)
|
||||||
|
@ -179,11 +175,10 @@ void UserInfoBox::actEditInternal(const Response &r)
|
||||||
const ServerInfo_User &user = response.user_info();
|
const ServerInfo_User &user = response.user_info();
|
||||||
|
|
||||||
QString email = QString::fromStdString(user.email());
|
QString email = QString::fromStdString(user.email());
|
||||||
int gender = user.gender();
|
|
||||||
QString country = QString::fromStdString(user.country());
|
QString country = QString::fromStdString(user.country());
|
||||||
QString realName = QString::fromStdString(user.real_name());
|
QString realName = QString::fromStdString(user.real_name());
|
||||||
|
|
||||||
DlgEditUser dlg(this, email, gender, country, realName);
|
DlgEditUser dlg(this, email, country, realName);
|
||||||
if(!dlg.exec())
|
if(!dlg.exec())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ class UserInfoBox : public QWidget {
|
||||||
private:
|
private:
|
||||||
AbstractClient *client;
|
AbstractClient *client;
|
||||||
bool editable;
|
bool editable;
|
||||||
QLabel avatarLabel, nameLabel, realNameLabel1, realNameLabel2, genderLabel1, genderLabel2, countryLabel1,
|
QLabel avatarLabel, nameLabel, realNameLabel1, realNameLabel2, countryLabel1,
|
||||||
countryLabel2, countryLabel3, userLevelLabel1, userLevelLabel2, userLevelLabel3, accountAgeLebel1, accountAgeLabel2;
|
countryLabel2, countryLabel3, userLevelLabel1, userLevelLabel2, userLevelLabel3, accountAgeLebel1, accountAgeLabel2;
|
||||||
QPushButton editButton, passwordButton, avatarButton;
|
QPushButton editButton, passwordButton, avatarButton;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue