strip newlines from msg in cmdRoomSay; improved i18n in MessageLogWidget
This commit is contained in:
parent
9090bc333c
commit
f10d9c9bec
18 changed files with 10655 additions and 3444 deletions
|
@ -18,58 +18,29 @@ bool MessageLogWidget::isFemale(Player *player) const
|
||||||
return player->getUserInfo()->getGender() == ServerInfo_User::Female;
|
return player->getUserInfo()->getGender() == ServerInfo_User::Female;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logConnecting(QString hostname)
|
|
||||||
{
|
|
||||||
appendHtml(tr("Connecting to %1...").arg(sanitizeHtml(hostname)));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageLogWidget::logConnected()
|
|
||||||
{
|
|
||||||
appendHtml(tr("Connected."));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageLogWidget::logDisconnected()
|
|
||||||
{
|
|
||||||
appendHtml(tr("Disconnected from server."));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageLogWidget::logSocketError(const QString &errorString)
|
|
||||||
{
|
|
||||||
appendHtml(sanitizeHtml(errorString));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageLogWidget::logServerError(ResponseCode response)
|
|
||||||
{
|
|
||||||
switch (response) {
|
|
||||||
case RespWrongPassword: appendHtml(tr("Invalid password.")); break;
|
|
||||||
default: ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageLogWidget::logProtocolVersionMismatch(int clientVersion, int serverVersion)
|
|
||||||
{
|
|
||||||
appendHtml(tr("Protocol version mismatch. Client: %1, Server: %2").arg(clientVersion).arg(serverVersion));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageLogWidget::logProtocolError()
|
|
||||||
{
|
|
||||||
appendHtml(tr("Protocol error."));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageLogWidget::logGameJoined(int gameId)
|
void MessageLogWidget::logGameJoined(int gameId)
|
||||||
{
|
{
|
||||||
appendHtml(tr("You have joined game #%1.").arg(gameId));
|
if (female)
|
||||||
|
appendHtml(tr("You have joined game #%1.", "female").arg(gameId));
|
||||||
|
else
|
||||||
|
appendHtml(tr("You have joined game #%1.", "male").arg(gameId));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logJoin(Player *player)
|
void MessageLogWidget::logJoin(Player *player)
|
||||||
{
|
{
|
||||||
soundEngine->cuckoo();
|
soundEngine->cuckoo();
|
||||||
appendHtml(tr("%1 has joined the game.").arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 has joined the game.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 has joined the game.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logLeave(Player *player)
|
void MessageLogWidget::logLeave(Player *player)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 has left the game.").arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 has left the game.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 has left the game.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logGameClosed()
|
void MessageLogWidget::logGameClosed()
|
||||||
|
@ -89,25 +60,41 @@ void MessageLogWidget::logLeaveSpectator(QString name)
|
||||||
|
|
||||||
void MessageLogWidget::logDeckSelect(Player *player, int deckId)
|
void MessageLogWidget::logDeckSelect(Player *player, int deckId)
|
||||||
{
|
{
|
||||||
if (deckId == -1)
|
if (deckId == -1) {
|
||||||
appendHtml(tr("%1 has loaded a local deck.").arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
else
|
appendHtml(tr("%1 has loaded a local deck.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
appendHtml(tr("%1 has loaded deck #%2.").arg(sanitizeHtml(player->getName())).arg(deckId));
|
else
|
||||||
|
appendHtml(tr("%1 has loaded a local deck.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 has loaded deck #%2.", "female").arg(sanitizeHtml(player->getName())).arg(deckId));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 has loaded deck #%2.", "male").arg(sanitizeHtml(player->getName())).arg(deckId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logReadyStart(Player *player)
|
void MessageLogWidget::logReadyStart(Player *player)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 is ready to start the game.").arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 is ready to start the game.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 is ready to start the game.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logNotReadyStart(Player *player)
|
void MessageLogWidget::logNotReadyStart(Player *player)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 is not ready to start the game any more.").arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 is not ready to start the game any more.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 is not ready to start the game any more.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logConcede(Player *player)
|
void MessageLogWidget::logConcede(Player *player)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 has conceded the game.").arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 has conceded the game.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 has conceded the game.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logGameStart()
|
void MessageLogWidget::logGameStart()
|
||||||
|
@ -117,10 +104,17 @@ void MessageLogWidget::logGameStart()
|
||||||
|
|
||||||
void MessageLogWidget::logConnectionStateChanged(Player *player, bool connectionState)
|
void MessageLogWidget::logConnectionStateChanged(Player *player, bool connectionState)
|
||||||
{
|
{
|
||||||
if (connectionState)
|
if (connectionState) {
|
||||||
appendHtml(tr("%1 has restored connection to the game.").arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
else
|
appendHtml(tr("%1 has restored connection to the game.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
appendHtml(tr("%1 has lost connection to the game.").arg(sanitizeHtml(player->getName())));
|
else
|
||||||
|
appendHtml(tr("%1 has restored connection to the game.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 has lost connection to the game.", "female").arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 has lost connection to the game.", "male").arg(sanitizeHtml(player->getName())));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSay(Player *player, QString message)
|
void MessageLogWidget::logSay(Player *player, QString message)
|
||||||
|
@ -136,13 +130,20 @@ void MessageLogWidget::logSpectatorSay(QString spectatorName, QString message)
|
||||||
void MessageLogWidget::logShuffle(Player *player, CardZone *zone)
|
void MessageLogWidget::logShuffle(Player *player, CardZone *zone)
|
||||||
{
|
{
|
||||||
soundEngine->shuffle();
|
soundEngine->shuffle();
|
||||||
if (currentContext != MessageContext_Mulligan)
|
if (currentContext != MessageContext_Mulligan) {
|
||||||
appendHtml(tr("%1 shuffles %2.").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 shuffles %2.", "female").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 shuffles %2.", "male").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logRollDie(Player *player, int sides, int roll)
|
void MessageLogWidget::logRollDie(Player *player, int sides, int roll)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 rolls a %2 with a %3-sided die.").arg(sanitizeHtml(player->getName())).arg(roll).arg(sides));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 rolls a %2 with a %3-sided die.", "female").arg(sanitizeHtml(player->getName())).arg(roll).arg(sides));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 rolls a %2 with a %3-sided die.", "male").arg(sanitizeHtml(player->getName())).arg(roll).arg(sides));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logDrawCards(Player *player, int number)
|
void MessageLogWidget::logDrawCards(Player *player, int number)
|
||||||
|
@ -151,7 +152,10 @@ void MessageLogWidget::logDrawCards(Player *player, int number)
|
||||||
mulliganPlayer = player;
|
mulliganPlayer = player;
|
||||||
else {
|
else {
|
||||||
soundEngine->draw();
|
soundEngine->draw();
|
||||||
appendHtml(tr("%1 draws %n card(s).", "", number).arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 draws %n card(s).", "female", number).arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 draws %n card(s).", "male", number).arg(sanitizeHtml(player->getName())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -277,57 +281,200 @@ void MessageLogWidget::logMulligan(Player *player, int number)
|
||||||
if (!player)
|
if (!player)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (number > -1)
|
if (number > -1) {
|
||||||
appendHtml(tr("%1 takes a mulligan to %n.", "", number).arg(sanitizeHtml(player->getName())));
|
if (isFemale(player))
|
||||||
else
|
appendHtml(tr("%1 takes a mulligan to %n.", "female", number).arg(sanitizeHtml(player->getName())));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 takes a mulligan to %n.", "male", number).arg(sanitizeHtml(player->getName())));
|
||||||
|
} else
|
||||||
appendHtml((isFemale(player) ? tr("%1 draws her initial hand.") : tr("%1 draws his initial hand.")).arg(sanitizeHtml(player->getName())));
|
appendHtml((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) {
|
||||||
appendHtml(tr("%1 flips %2 face-down.").arg(sanitizeHtml(player->getName())).arg(cardName));
|
if (isFemale(player))
|
||||||
else
|
appendHtml(tr("%1 flips %2 face-down.", "female").arg(sanitizeHtml(player->getName())).arg(cardName));
|
||||||
appendHtml(tr("%1 flips %2 face-up.").arg(sanitizeHtml(player->getName())).arg(cardName));
|
else
|
||||||
|
appendHtml(tr("%1 flips %2 face-down.", "male").arg(sanitizeHtml(player->getName())).arg(cardName));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 flips %2 face-up.", "female").arg(sanitizeHtml(player->getName())).arg(cardName));
|
||||||
|
else
|
||||||
|
appendHtml(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)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 destroys %2.").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 destroys %2.", "female").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 destroys %2.", "male").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName)
|
void MessageLogWidget::logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 attaches %2 to %3's %4.").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))).arg(sanitizeHtml(targetPlayer->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(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");
|
||||||
|
}
|
||||||
|
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))).arg(sanitizeHtml(targetPlayer->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(targetCardName))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logUnattachCard(Player *player, QString cardName)
|
void MessageLogWidget::logUnattachCard(Player *player, QString cardName)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 unattaches %2.").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 unattaches %2.", "female").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 unattaches %2.", "male").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logCreateToken(Player *player, QString cardName, QString pt)
|
void MessageLogWidget::logCreateToken(Player *player, QString cardName, QString pt)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 creates token: %2%3.").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\"><a name=\"foo\">%1</a></font>").arg(sanitizeHtml(cardName))).arg(pt.isEmpty() ? QString() : QString(" (%1)").arg(sanitizeHtml(pt))));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 creates token: %2%3.", "female").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))).arg(pt.isEmpty() ? QString() : QString(" (%1)").arg(sanitizeHtml(pt))));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 creates token: %2%3.", "male").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(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)
|
||||||
{
|
{
|
||||||
if (playerTarget)
|
startCard = QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(startCard));
|
||||||
appendHtml(tr("%1 points from %2's %3 to %4.")
|
targetCard = QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(targetCard));
|
||||||
.arg(sanitizeHtml(player->getName()))
|
QString str;
|
||||||
.arg(sanitizeHtml(startPlayer->getName()))
|
if (playerTarget) {
|
||||||
.arg(sanitizeHtml(startCard))
|
if ((player == startPlayer) && (player == targetPlayer)) {
|
||||||
.arg(sanitizeHtml(targetPlayer->getName()))
|
if (isFemale(player))
|
||||||
);
|
str = tr("%1 points from her %2 to herself.", "female");
|
||||||
else
|
else
|
||||||
appendHtml(tr("%1 points from %2's %3 to %4's %5.")
|
str = tr("%1 points from his %2 to himself.", "male");
|
||||||
.arg(sanitizeHtml(player->getName()))
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(startCard));
|
||||||
.arg(sanitizeHtml(startPlayer->getName()))
|
} else if (player == startPlayer) {
|
||||||
.arg(sanitizeHtml(startCard))
|
if (isFemale(player)) {
|
||||||
.arg(sanitizeHtml(targetPlayer->getName()))
|
if (isFemale(targetPlayer))
|
||||||
.arg(sanitizeHtml(targetCard))
|
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");
|
||||||
|
}
|
||||||
|
appendHtml(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");
|
||||||
|
}
|
||||||
|
appendHtml(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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appendHtml(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");
|
||||||
|
appendHtml(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");
|
||||||
|
}
|
||||||
|
appendHtml(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");
|
||||||
|
}
|
||||||
|
appendHtml(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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(startPlayer->getName())).arg(startCard).arg(sanitizeHtml(targetPlayer->getName())).arg(targetCard));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int counterId, int value, int oldValue)
|
void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int counterId, int value, int oldValue)
|
||||||
|
@ -335,10 +482,17 @@ void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int c
|
||||||
QString finalStr, colorStr;
|
QString finalStr, colorStr;
|
||||||
|
|
||||||
int delta = abs(oldValue - value);
|
int delta = abs(oldValue - value);
|
||||||
if (value > oldValue)
|
if (value > oldValue) {
|
||||||
finalStr = tr("%1 places %n %2 counter(s) on %3 (now %4).", "", delta);
|
if (isFemale(player))
|
||||||
else
|
finalStr = tr("%1 places %n %2 counter(s) on %3 (now %4).", "female", delta);
|
||||||
finalStr = tr("%1 removes %n %2 counter(s) from %3 (now %4).", "", delta);
|
else
|
||||||
|
finalStr = tr("%1 places %n %2 counter(s) on %3 (now %4).", "male", delta);
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
finalStr = tr("%1 removes %n %2 counter(s) from %3 (now %4).", "female", delta);
|
||||||
|
else
|
||||||
|
finalStr = tr("%1 removes %n %2 counter(s) from %3 (now %4).", "male", delta);
|
||||||
|
}
|
||||||
|
|
||||||
switch (counterId) {
|
switch (counterId) {
|
||||||
case 0: colorStr = tr("red", "", delta); break;
|
case 0: colorStr = tr("red", "", delta); break;
|
||||||
|
@ -360,55 +514,111 @@ void MessageLogWidget::logSetTapped(Player *player, CardItem *card, bool tapped)
|
||||||
if (currentContext == MessageContext_MoveCard)
|
if (currentContext == MessageContext_MoveCard)
|
||||||
moveCardTapped.insert(card, tapped);
|
moveCardTapped.insert(card, tapped);
|
||||||
else {
|
else {
|
||||||
QString cardStr;
|
QString str;
|
||||||
if (!card)
|
if (!card) {
|
||||||
cardStr = isFemale(player) ? tr("her permanents") : tr("his permanents");
|
if (isFemale(player)) {
|
||||||
else
|
if (tapped)
|
||||||
cardStr = QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()));
|
str = tr("%1 taps her permanents.", "female");
|
||||||
appendHtml(tr("%1 %2 %3.").arg(sanitizeHtml(player->getName())).arg(tapped ? tr("taps") : tr("untaps")).arg(cardStr));
|
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");
|
||||||
|
}
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player)) {
|
||||||
|
if (tapped)
|
||||||
|
str = tr("%1 taps %2.", "female");
|
||||||
|
else
|
||||||
|
str = tr("%1 untaps %2.", "female");
|
||||||
|
} else {
|
||||||
|
if (tapped)
|
||||||
|
str = tr("%1 taps %2.", "male");
|
||||||
|
else
|
||||||
|
str = tr("%1 untaps %2.", "male");
|
||||||
|
}
|
||||||
|
QString cardStr = QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()));
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(cardStr));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetCounter(Player *player, QString counterName, int value, int oldValue)
|
void MessageLogWidget::logSetCounter(Player *player, QString counterName, int value, int oldValue)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 sets counter %2 to %3 (%4%5).").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));
|
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");
|
||||||
|
appendHtml(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));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetDoesntUntap(Player *player, CardItem *card, bool doesntUntap)
|
void MessageLogWidget::logSetDoesntUntap(Player *player, CardItem *card, bool doesntUntap)
|
||||||
{
|
{
|
||||||
QString finalStr;
|
QString str;
|
||||||
if (doesntUntap)
|
if (doesntUntap) {
|
||||||
finalStr = tr("%1 sets %2 to not untap normally.");
|
if (isFemale(player))
|
||||||
else
|
str = tr("%1 sets %2 to not untap normally.", "female");
|
||||||
finalStr = tr("%1 sets %2 to untap normally.");
|
else
|
||||||
appendHtml(finalStr.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()))));
|
str = tr("%1 sets %2 to not untap normally.", "male");
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
str = tr("%1 sets %2 to untap normally.", "female");
|
||||||
|
else
|
||||||
|
str = tr("%1 sets %2 to untap normally.", "male");
|
||||||
|
}
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetPT(Player *player, CardItem *card, QString newPT)
|
void MessageLogWidget::logSetPT(Player *player, CardItem *card, QString newPT)
|
||||||
{
|
{
|
||||||
if (currentContext == MessageContext_MoveCard)
|
if (currentContext == MessageContext_MoveCard)
|
||||||
moveCardPT.insert(card, newPT);
|
moveCardPT.insert(card, newPT);
|
||||||
else
|
else {
|
||||||
appendHtml(tr("%1 sets PT of %2 to %3.").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()))).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(newPT))));
|
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");
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()))).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(newPT))));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetAnnotation(Player *player, CardItem *card, QString newAnnotation)
|
void MessageLogWidget::logSetAnnotation(Player *player, CardItem *card, QString newAnnotation)
|
||||||
{
|
{
|
||||||
appendHtml(tr("%1 sets annotation of %2 to %3.").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()))).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(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");
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(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) {
|
||||||
appendHtml(tr("%1 is looking at the top %2 cards %3.").arg(sanitizeHtml(player->getName())).arg(numberCards).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseGenitive)));
|
if (isFemale(player))
|
||||||
else
|
appendHtml(tr("%1 is looking at the top %2 cards %3.", "female").arg(sanitizeHtml(player->getName())).arg(numberCards).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseGenitive)));
|
||||||
appendHtml(tr("%1 is looking at %2.").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseAccusative)));
|
else
|
||||||
|
appendHtml(tr("%1 is looking at the top %2 cards %3.", "male").arg(sanitizeHtml(player->getName())).arg(numberCards).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseGenitive)));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 is looking at %2.", "female").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseAccusative)));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 is looking at %2.", "male").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseAccusative)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logStopDumpZone(Player *player, CardZone *zone)
|
void MessageLogWidget::logStopDumpZone(Player *player, CardZone *zone)
|
||||||
{
|
{
|
||||||
QString zoneName = zone->getTranslatedName(zone->getPlayer() == player, CaseAccusative);
|
QString zoneName = zone->getTranslatedName(zone->getPlayer() == player, CaseAccusative);
|
||||||
appendHtml(tr("%1 stops looking at %2.").arg(sanitizeHtml(player->getName())).arg(zoneName));
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 stops looking at %2.", "female").arg(sanitizeHtml(player->getName())).arg(zoneName));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 stops looking at %2.", "male").arg(sanitizeHtml(player->getName())).arg(zoneName));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logRevealCards(Player *player, CardZone *zone, int cardId, QString cardName, Player *otherPlayer)
|
void MessageLogWidget::logRevealCards(Player *player, CardZone *zone, int cardId, QString cardName, Player *otherPlayer)
|
||||||
|
@ -429,28 +639,80 @@ void MessageLogWidget::logRevealCards(Player *player, CardZone *zone, int cardId
|
||||||
else
|
else
|
||||||
cardStr = QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName));
|
cardStr = QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName));
|
||||||
|
|
||||||
|
QString str;
|
||||||
if (cardId == -1) {
|
if (cardId == -1) {
|
||||||
if (otherPlayer)
|
if (otherPlayer) {
|
||||||
appendHtml(tr("%1 reveals %2 to %3.").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)).arg(sanitizeHtml(otherPlayer->getName())));
|
if (isFemale(player)) {
|
||||||
else
|
if (isFemale(otherPlayer))
|
||||||
appendHtml(tr("%1 reveals %2.").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
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");
|
||||||
|
}
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)).arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 reveals %2.", "female").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 reveals %2.", "male").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
||||||
|
}
|
||||||
} else if (cardId == -2) {
|
} else if (cardId == -2) {
|
||||||
if (otherPlayer)
|
if (otherPlayer) {
|
||||||
appendHtml(tr("%1 randomly reveals %2%3 to %4.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
if (isFemale(player)) {
|
||||||
else
|
if (isFemale(otherPlayer))
|
||||||
appendHtml(tr("%1 randomly reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
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");
|
||||||
|
}
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 randomly reveals %2%3.", "female").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 randomly reveals %2%3.", "male").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (otherPlayer)
|
if (otherPlayer) {
|
||||||
appendHtml(tr("%1 reveals %2%3 to %4.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
if (isFemale(player)) {
|
||||||
else
|
if (isFemale(otherPlayer))
|
||||||
appendHtml(tr("%1 reveals %2%3.").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
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");
|
||||||
|
}
|
||||||
|
appendHtml(str.arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr).arg(sanitizeHtml(otherPlayer->getName())));
|
||||||
|
} else {
|
||||||
|
if (isFemale(player))
|
||||||
|
appendHtml(tr("%1 reveals %2%3.", "female").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
||||||
|
else
|
||||||
|
appendHtml(tr("%1 reveals %2%3.", "male").arg(sanitizeHtml(player->getName())).arg(cardStr).arg(fromStr));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetActivePlayer(Player *player)
|
void MessageLogWidget::logSetActivePlayer(Player *player)
|
||||||
{
|
{
|
||||||
soundEngine->notification();
|
soundEngine->notification();
|
||||||
appendHtml("<br><font color=\"green\"><b>" + tr("It is now %1's turn.").arg(player->getName()) + "</b></font><br>");
|
|
||||||
|
QString str;
|
||||||
|
if (isFemale(player))
|
||||||
|
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>" + str.arg(player->getName()) + "</b></font><br>");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageLogWidget::logSetActivePhase(int phase)
|
void MessageLogWidget::logSetActivePhase(int phase)
|
||||||
|
@ -527,7 +789,7 @@ void MessageLogWidget::connectToPlayer(Player *player)
|
||||||
connect(player, SIGNAL(logRevealCards(Player *, CardZone *, int, QString, Player *)), this, SLOT(logRevealCards(Player *, CardZone *, int, QString, Player *)));
|
connect(player, SIGNAL(logRevealCards(Player *, CardZone *, int, QString, Player *)), this, SLOT(logRevealCards(Player *, CardZone *, int, QString, Player *)));
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageLogWidget::MessageLogWidget(const QString &_ownName, QWidget *parent)
|
MessageLogWidget::MessageLogWidget(const QString &_ownName, bool _female, QWidget *parent)
|
||||||
: ChatView(_ownName, false, parent)
|
: ChatView(_ownName, false, parent), female(_female)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ private:
|
||||||
bool isFemale(Player *player) const;
|
bool isFemale(Player *player) const;
|
||||||
QPair<QString, QString> getFromStr(CardZone *zone, QString cardName, int position) const;
|
QPair<QString, QString> getFromStr(CardZone *zone, QString cardName, int position) const;
|
||||||
MessageContext currentContext;
|
MessageContext currentContext;
|
||||||
|
bool female;
|
||||||
|
|
||||||
QList<LogMoveCard> moveCardQueue;
|
QList<LogMoveCard> moveCardQueue;
|
||||||
QMap<CardItem *, QString> moveCardPT;
|
QMap<CardItem *, QString> moveCardPT;
|
||||||
|
@ -39,13 +40,6 @@ private:
|
||||||
Player *mulliganPlayer;
|
Player *mulliganPlayer;
|
||||||
int mulliganNumber;
|
int mulliganNumber;
|
||||||
public slots:
|
public slots:
|
||||||
void logConnecting(QString hostname);
|
|
||||||
void logConnected();
|
|
||||||
void logDisconnected();
|
|
||||||
void logSocketError(const QString &errorString);
|
|
||||||
void logServerError(ResponseCode response);
|
|
||||||
void logProtocolVersionMismatch(int clientVersion, int serverVersion);
|
|
||||||
void logProtocolError();
|
|
||||||
void logGameJoined(int gameId);
|
void logGameJoined(int gameId);
|
||||||
void logJoin(Player *player);
|
void logJoin(Player *player);
|
||||||
void logLeave(Player *player);
|
void logLeave(Player *player);
|
||||||
|
@ -88,7 +82,7 @@ public slots:
|
||||||
void containerProcessingDone();
|
void containerProcessingDone();
|
||||||
public:
|
public:
|
||||||
void connectToPlayer(Player *player);
|
void connectToPlayer(Player *player);
|
||||||
MessageLogWidget(const QString &_ownName, QWidget *parent = 0);
|
MessageLogWidget(const QString &_ownName, bool _female, QWidget *parent = 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -158,7 +158,7 @@ void DeckViewContainer::setDeck(DeckList *deck)
|
||||||
readyStartButton->setEnabled(true);
|
readyStartButton->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
TabGame::TabGame(TabSupervisor *_tabSupervisor, QList<AbstractClient *> &_clients, int _gameId, const QString &_gameDescription, int _localPlayerId, const QString &_userName, bool _spectator, bool _spectatorsCanTalk, bool _spectatorsSeeEverything, bool _resuming)
|
TabGame::TabGame(TabSupervisor *_tabSupervisor, QList<AbstractClient *> &_clients, int _gameId, const QString &_gameDescription, int _localPlayerId, ServerInfo_User *_userInfo, bool _spectator, bool _spectatorsCanTalk, bool _spectatorsSeeEverything, bool _resuming)
|
||||||
: Tab(_tabSupervisor), clients(_clients), gameId(_gameId), gameDescription(_gameDescription), localPlayerId(_localPlayerId), spectator(_spectator), spectatorsCanTalk(_spectatorsCanTalk), spectatorsSeeEverything(_spectatorsSeeEverything), started(false), resuming(_resuming), currentPhase(-1)
|
: Tab(_tabSupervisor), clients(_clients), gameId(_gameId), gameDescription(_gameDescription), localPlayerId(_localPlayerId), spectator(_spectator), spectatorsCanTalk(_spectatorsCanTalk), spectatorsSeeEverything(_spectatorsSeeEverything), started(false), resuming(_resuming), currentPhase(-1)
|
||||||
{
|
{
|
||||||
phasesToolbar = new PhasesToolbar;
|
phasesToolbar = new PhasesToolbar;
|
||||||
|
@ -176,7 +176,7 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, QList<AbstractClient *> &_client
|
||||||
|
|
||||||
timeElapsedLabel = new QLabel;
|
timeElapsedLabel = new QLabel;
|
||||||
timeElapsedLabel->setAlignment(Qt::AlignCenter);
|
timeElapsedLabel->setAlignment(Qt::AlignCenter);
|
||||||
messageLog = new MessageLogWidget(_userName);
|
messageLog = new MessageLogWidget(_userInfo->getName(), _userInfo->getGender() == ServerInfo_User::Female);
|
||||||
connect(messageLog, SIGNAL(cardNameHovered(QString)), cardInfo, SLOT(setCard(QString)));
|
connect(messageLog, SIGNAL(cardNameHovered(QString)), cardInfo, SLOT(setCard(QString)));
|
||||||
connect(messageLog, SIGNAL(showCardInfoPopup(QPoint, QString)), this, SLOT(showCardInfoPopup(QPoint, QString)));
|
connect(messageLog, SIGNAL(showCardInfoPopup(QPoint, QString)), this, SLOT(showCardInfoPopup(QPoint, QString)));
|
||||||
connect(messageLog, SIGNAL(deleteCardInfoPopup(QString)), this, SLOT(deleteCardInfoPopup(QString)));
|
connect(messageLog, SIGNAL(deleteCardInfoPopup(QString)), this, SLOT(deleteCardInfoPopup(QString)));
|
||||||
|
|
|
@ -155,7 +155,7 @@ private slots:
|
||||||
void actNextPhase();
|
void actNextPhase();
|
||||||
void actNextTurn();
|
void actNextTurn();
|
||||||
public:
|
public:
|
||||||
TabGame(TabSupervisor *_tabSupervisor, QList<AbstractClient *> &_clients, int _gameId, const QString &_gameDescription, int _localPlayerId, const QString &_userName, bool _spectator, bool _spectatorsCanTalk, bool _spectatorsSeeEverything, bool _resuming);
|
TabGame(TabSupervisor *_tabSupervisor, QList<AbstractClient *> &_clients, int _gameId, const QString &_gameDescription, int _localPlayerId, ServerInfo_User *_userInfo, bool _spectator, bool _spectatorsCanTalk, bool _spectatorsSeeEverything, bool _resuming);
|
||||||
~TabGame();
|
~TabGame();
|
||||||
void retranslateUi();
|
void retranslateUi();
|
||||||
void closeRequest();
|
void closeRequest();
|
||||||
|
|
|
@ -105,11 +105,10 @@ int TabSupervisor::myAddTab(Tab *tab)
|
||||||
return addTab(tab, tab->getTabText());
|
return addTab(tab, tab->getTabText());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabSupervisor::start(AbstractClient *_client, ServerInfo_User *userInfo)
|
void TabSupervisor::start(AbstractClient *_client, ServerInfo_User *_userInfo)
|
||||||
{
|
{
|
||||||
client = _client;
|
client = _client;
|
||||||
userName = userInfo->getName();
|
userInfo = new ServerInfo_User(_userInfo);
|
||||||
userLevel = userInfo->getUserLevel();
|
|
||||||
|
|
||||||
connect(client, SIGNAL(roomEventReceived(RoomEvent *)), this, SLOT(processRoomEvent(RoomEvent *)));
|
connect(client, SIGNAL(roomEventReceived(RoomEvent *)), this, SLOT(processRoomEvent(RoomEvent *)));
|
||||||
connect(client, SIGNAL(gameEventContainerReceived(GameEventContainer *)), this, SLOT(processGameEventContainer(GameEventContainer *)));
|
connect(client, SIGNAL(gameEventContainerReceived(GameEventContainer *)), this, SLOT(processGameEventContainer(GameEventContainer *)));
|
||||||
|
@ -146,6 +145,7 @@ void TabSupervisor::start(AbstractClient *_client, ServerInfo_User *userInfo)
|
||||||
|
|
||||||
void TabSupervisor::startLocal(const QList<AbstractClient *> &_clients)
|
void TabSupervisor::startLocal(const QList<AbstractClient *> &_clients)
|
||||||
{
|
{
|
||||||
|
userInfo = new ServerInfo_User;
|
||||||
localClients = _clients;
|
localClients = _clients;
|
||||||
for (int i = 0; i < localClients.size(); ++i)
|
for (int i = 0; i < localClients.size(); ++i)
|
||||||
connect(localClients[i], SIGNAL(gameEventContainerReceived(GameEventContainer *)), this, SLOT(processGameEventContainer(GameEventContainer *)));
|
connect(localClients[i], SIGNAL(gameEventContainerReceived(GameEventContainer *)), this, SLOT(processGameEventContainer(GameEventContainer *)));
|
||||||
|
@ -192,6 +192,9 @@ void TabSupervisor::stop()
|
||||||
while (messageIterator.hasNext())
|
while (messageIterator.hasNext())
|
||||||
messageIterator.next().value()->deleteLater();
|
messageIterator.next().value()->deleteLater();
|
||||||
messageTabs.clear();
|
messageTabs.clear();
|
||||||
|
|
||||||
|
delete userInfo;
|
||||||
|
userInfo = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabSupervisor::updatePingTime(int value, int max)
|
void TabSupervisor::updatePingTime(int value, int max)
|
||||||
|
@ -221,7 +224,7 @@ void TabSupervisor::addCloseButtonToTab(Tab *tab, int tabIndex)
|
||||||
|
|
||||||
void TabSupervisor::gameJoined(Event_GameJoined *event)
|
void TabSupervisor::gameJoined(Event_GameJoined *event)
|
||||||
{
|
{
|
||||||
TabGame *tab = new TabGame(this, QList<AbstractClient *>() << client, event->getGameId(), event->getGameDescription(), event->getPlayerId(), userName, event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
TabGame *tab = new TabGame(this, QList<AbstractClient *>() << client, event->getGameId(), event->getGameDescription(), event->getPlayerId(), userInfo, event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
||||||
connect(tab, SIGNAL(gameClosing(TabGame *)), this, SLOT(gameLeft(TabGame *)));
|
connect(tab, SIGNAL(gameClosing(TabGame *)), this, SLOT(gameLeft(TabGame *)));
|
||||||
connect(tab, SIGNAL(openMessageDialog(const QString &, bool)), this, SLOT(addMessageTab(const QString &, bool)));
|
connect(tab, SIGNAL(openMessageDialog(const QString &, bool)), this, SLOT(addMessageTab(const QString &, bool)));
|
||||||
int tabIndex = myAddTab(tab);
|
int tabIndex = myAddTab(tab);
|
||||||
|
@ -232,7 +235,7 @@ void TabSupervisor::gameJoined(Event_GameJoined *event)
|
||||||
|
|
||||||
void TabSupervisor::localGameJoined(Event_GameJoined *event)
|
void TabSupervisor::localGameJoined(Event_GameJoined *event)
|
||||||
{
|
{
|
||||||
TabGame *tab = new TabGame(this, localClients, event->getGameId(), event->getGameDescription(), event->getPlayerId(), QString(), event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
TabGame *tab = new TabGame(this, localClients, event->getGameId(), event->getGameDescription(), event->getPlayerId(), userInfo, event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
||||||
connect(tab, SIGNAL(gameClosing(TabGame *)), this, SLOT(gameLeft(TabGame *)));
|
connect(tab, SIGNAL(gameClosing(TabGame *)), this, SLOT(gameLeft(TabGame *)));
|
||||||
int tabIndex = myAddTab(tab);
|
int tabIndex = myAddTab(tab);
|
||||||
addCloseButtonToTab(tab, tabIndex);
|
addCloseButtonToTab(tab, tabIndex);
|
||||||
|
@ -258,7 +261,7 @@ void TabSupervisor::gameLeft(TabGame *tab)
|
||||||
|
|
||||||
void TabSupervisor::addRoomTab(ServerInfo_Room *info, bool setCurrent)
|
void TabSupervisor::addRoomTab(ServerInfo_Room *info, bool setCurrent)
|
||||||
{
|
{
|
||||||
TabRoom *tab = new TabRoom(this, client, userName, info);
|
TabRoom *tab = new TabRoom(this, client, userInfo->getName(), info);
|
||||||
connect(tab, SIGNAL(roomClosing(TabRoom *)), this, SLOT(roomLeft(TabRoom *)));
|
connect(tab, SIGNAL(roomClosing(TabRoom *)), this, SLOT(roomLeft(TabRoom *)));
|
||||||
connect(tab, SIGNAL(openMessageDialog(const QString &, bool)), this, SLOT(addMessageTab(const QString &, bool)));
|
connect(tab, SIGNAL(openMessageDialog(const QString &, bool)), this, SLOT(addMessageTab(const QString &, bool)));
|
||||||
int tabIndex = myAddTab(tab);
|
int tabIndex = myAddTab(tab);
|
||||||
|
@ -278,10 +281,10 @@ void TabSupervisor::roomLeft(TabRoom *tab)
|
||||||
|
|
||||||
TabMessage *TabSupervisor::addMessageTab(const QString &receiverName, bool focus)
|
TabMessage *TabSupervisor::addMessageTab(const QString &receiverName, bool focus)
|
||||||
{
|
{
|
||||||
if (receiverName == userName)
|
if (receiverName == userInfo->getName())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
TabMessage *tab = new TabMessage(this, client, userName, receiverName);
|
TabMessage *tab = new TabMessage(this, client, userInfo->getName(), receiverName);
|
||||||
connect(tab, SIGNAL(talkClosing(TabMessage *)), this, SLOT(talkLeft(TabMessage *)));
|
connect(tab, SIGNAL(talkClosing(TabMessage *)), this, SLOT(talkLeft(TabMessage *)));
|
||||||
int tabIndex = myAddTab(tab);
|
int tabIndex = myAddTab(tab);
|
||||||
addCloseButtonToTab(tab, tabIndex);
|
addCloseButtonToTab(tab, tabIndex);
|
||||||
|
@ -372,3 +375,8 @@ bool TabSupervisor::getAdminLocked() const
|
||||||
return true;
|
return true;
|
||||||
return tabAdmin->getLocked();
|
return tabAdmin->getLocked();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int TabSupervisor::getUserLevel() const
|
||||||
|
{
|
||||||
|
return userInfo->getUserLevel();
|
||||||
|
}
|
||||||
|
|
|
@ -37,8 +37,7 @@ protected:
|
||||||
class TabSupervisor : public QTabWidget {
|
class TabSupervisor : public QTabWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private:
|
private:
|
||||||
QString userName;
|
ServerInfo_User *userInfo;
|
||||||
int userLevel;
|
|
||||||
QIcon *tabChangedIcon;
|
QIcon *tabChangedIcon;
|
||||||
AbstractClient *client;
|
AbstractClient *client;
|
||||||
QList<AbstractClient *> localClients;
|
QList<AbstractClient *> localClients;
|
||||||
|
@ -61,7 +60,7 @@ public:
|
||||||
int getGameCount() const { return gameTabs.size(); }
|
int getGameCount() const { return gameTabs.size(); }
|
||||||
TabUserLists *getUserListsTab() const { return tabUserLists; }
|
TabUserLists *getUserListsTab() const { return tabUserLists; }
|
||||||
bool getAdminLocked() const;
|
bool getAdminLocked() const;
|
||||||
int getUserLevel() const { return userLevel; }
|
int getUserLevel() const;
|
||||||
signals:
|
signals:
|
||||||
void setMenu(QMenu *menu);
|
void setMenu(QMenu *menu);
|
||||||
void localGameEnded();
|
void localGameEnded();
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -468,8 +468,9 @@ ResponseCode Server_ProtocolHandler::cmdRoomSay(Command_RoomSay *cmd, CommandCon
|
||||||
if ((totalSize > server->getMaxMessageSizePerInterval()) || (totalCount > server->getMaxMessageCountPerInterval()))
|
if ((totalSize > server->getMaxMessageSizePerInterval()) || (totalCount > server->getMaxMessageCountPerInterval()))
|
||||||
return RespChatFlood;
|
return RespChatFlood;
|
||||||
}
|
}
|
||||||
|
msg.replace(QChar('\n'), QChar(' '));
|
||||||
|
|
||||||
room->say(this, cmd->getMessage());
|
room->say(this, msg);
|
||||||
return RespOk;
|
return RespOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue