diff --git a/cockatrice/src/chatview.cpp b/cockatrice/src/chatview.cpp
index 30aad649..3b72afe2 100644
--- a/cockatrice/src/chatview.cpp
+++ b/cockatrice/src/chatview.cpp
@@ -89,6 +89,7 @@ void ChatView::appendCardTag(QTextCursor &cursor, const QString &cardName)
anchorFormat.setForeground(Qt::blue);
anchorFormat.setAnchor(true);
anchorFormat.setAnchorHref("card://" + cardName);
+ anchorFormat.setFontItalic(true);
cursor.setCharFormat(anchorFormat);
cursor.insertText(cardName);
@@ -122,7 +123,9 @@ void ChatView::appendMessage(QString message, QString sender, UserLevelFlags use
if (showTimestamps && !sameSender) {
QTextCharFormat timeFormat;
- timeFormat.setForeground(Qt::black);
+ timeFormat.setForeground(QColor(SERVER_MESSAGE_COLOR));
+ if (sender.isEmpty())
+ timeFormat.setFontWeight(QFont::Bold);
cursor.setCharFormat(timeFormat);
cursor.insertText(QDateTime::currentDateTime().toString("[hh:mm:ss] "));
}
@@ -153,8 +156,10 @@ void ChatView::appendMessage(QString message, QString sender, UserLevelFlags use
cursor.insertText(" ");
QTextCharFormat messageFormat;
- if (sender.isEmpty())
+ if (sender.isEmpty()) {
messageFormat.setForeground(Qt::darkGreen);
+ messageFormat.setFontWeight(QFont::Bold);
+ }
cursor.setCharFormat(messageFormat);
int from = 0, index = 0, bracket = 0, at = 0;
diff --git a/cockatrice/src/messagelogwidget.cpp b/cockatrice/src/messagelogwidget.cpp
index 557c5501..21791c38 100644
--- a/cockatrice/src/messagelogwidget.cpp
+++ b/cockatrice/src/messagelogwidget.cpp
@@ -4,6 +4,7 @@
#include "carditem.h"
#include "soundengine.h"
#include "tab_supervisor.h"
+#include "settingscache.h"
#include "pb/serverinfo_user.pb.h"
#include "pb/context_move_card.pb.h"
#include "pb/context_mulligan.pb.h"
@@ -21,7 +22,7 @@ QString MessageLogWidget::sanitizeHtml(QString dirty) const
QString MessageLogWidget::cardLink(const QString &cardName) const
{
- return QString("%2").arg(cardName).arg(cardName);
+ return QString("%2").arg(cardName).arg(cardName);
}
bool MessageLogWidget::isFemale(Player *player) const
@@ -37,9 +38,9 @@ bool MessageLogWidget::userIsFemale() const
void MessageLogWidget::logGameJoined(int gameId)
{
if (userIsFemale())
- appendHtmlServerMessage(tr("You have joined game #%1.", "female").arg(gameId));
+ appendHtmlServerMessage(tr("You have joined game #%1.", "female").arg(""+ QString::number(gameId) + ""));
else
- appendHtmlServerMessage(tr("You have joined game #%1.", "male").arg(gameId));
+ appendHtmlServerMessage(tr("You have joined game #%1.", "male").arg(""+ QString::number(gameId) + ""));
}
void MessageLogWidget::logReplayStarted(int gameId)
@@ -95,7 +96,7 @@ void MessageLogWidget::logDeckSelect(Player *player, QString deckHash, int sideb
else
appendHtmlServerMessage(tr("%1 has loaded a deck with %2 sideboard cards (%3).", gender).
arg(sanitizeHtml(player->getName())).
- arg(sideboardSize).
+ arg("" + QString::number(sideboardSize) + "").
arg(deckHash));
}
@@ -183,9 +184,9 @@ void MessageLogWidget::logShuffle(Player *player, CardZone *zone)
void MessageLogWidget::logRollDie(Player *player, int sides, int roll)
{
if (isFemale(player))
- appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "female").arg(sanitizeHtml(player->getName())).arg(roll).arg(sides));
+ appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "female").arg(sanitizeHtml(player->getName())).arg("" + QString::number(roll) + "").arg("" + QString::number(sides) + ""));
else
- appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "male").arg(sanitizeHtml(player->getName())).arg(roll).arg(sides));
+ appendHtmlServerMessage(tr("%1 rolls a %2 with a %3-sided die.", "male").arg(sanitizeHtml(player->getName())).arg("" + QString::number(roll) + "").arg("" + QString::number(sides) + ""));
}
void MessageLogWidget::logDrawCards(Player *player, int number)
@@ -195,9 +196,9 @@ void MessageLogWidget::logDrawCards(Player *player, int number)
else {
soundEngine->draw();
if (isFemale(player))
- appendHtmlServerMessage(tr("%1 draws %n card(s).", "female", number).arg(sanitizeHtml(player->getName())));
+ appendHtmlServerMessage(tr("%1 draws %2 card(s).", "female").arg(sanitizeHtml(player->getName())).arg("" + QString::number(number) + ""));
else
- appendHtmlServerMessage(tr("%1 draws %n card(s).", "male", number).arg(sanitizeHtml(player->getName())));
+ appendHtmlServerMessage(tr("%1 draws %2 card(s).", "male").arg(sanitizeHtml(player->getName())).arg("" + QString::number(number) + ""));
}
}
@@ -290,7 +291,7 @@ void MessageLogWidget::doMoveCard(LogMoveCard &attributes)
cardStr = cardLink(cardName);
if (ownerChange && (attributes.startZone->getPlayer() == attributes.player)) {
- appendHtml(tr("%1 gives %2 control over %3.").arg(sanitizeHtml(attributes.player->getName())).arg(sanitizeHtml(attributes.targetZone->getPlayer()->getName())).arg(cardStr));
+ appendHtmlServerMessage(tr("%1 gives %2 control over %3.").arg(sanitizeHtml(attributes.player->getName())).arg(sanitizeHtml(attributes.targetZone->getPlayer()->getName())).arg(cardStr));
return;
}
@@ -545,14 +546,14 @@ void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int c
int delta = abs(oldValue - value);
if (value > oldValue) {
if (isFemale(player))
- finalStr = tr("%1 places %n %2 counter(s) on %3 (now %4).", "female", delta);
+ finalStr = tr("%1 places %2 %3 counter(s) on %4 (now %5).", "female");
else
- finalStr = tr("%1 places %n %2 counter(s) on %3 (now %4).", "male", delta);
+ finalStr = tr("%1 places %2 %3 counter(s) on %4 (now %5).", "male");
} else {
if (isFemale(player))
- finalStr = tr("%1 removes %n %2 counter(s) from %3 (now %4).", "female", delta);
+ finalStr = tr("%1 removes %2 %3 counter(s) from %4 (now %5).", "female");
else
- finalStr = tr("%1 removes %n %2 counter(s) from %3 (now %4).", "male", delta);
+ finalStr = tr("%1 removes %2 %3 counter(s) from %4 (now %5).", "male");
}
switch (counterId) {
@@ -562,7 +563,7 @@ void MessageLogWidget::logSetCardCounter(Player *player, QString cardName, int c
default: ;
}
- appendHtmlServerMessage(finalStr.arg(sanitizeHtml(player->getName())).arg(colorStr).arg(cardLink(cardName)).arg(value));
+ appendHtmlServerMessage(finalStr.arg(sanitizeHtml(player->getName())).arg("" + QString::number(delta) + "").arg(colorStr).arg(cardLink(cardName)).arg(value));
}
void MessageLogWidget::logSetTapped(Player *player, CardItem *card, bool tapped)
@@ -667,9 +668,9 @@ void MessageLogWidget::logDumpZone(Player *player, CardZone *zone, int numberCar
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseLookAtZone)));
else
appendHtmlServerMessage((isFemale(player)
- ? tr("%1 is looking at the top %n card(s) %2.", "female", numberCards)
- : tr("%1 is looking at the top %n card(s) %2.", "male", numberCards)
- ).arg(sanitizeHtml(player->getName()))
+ ? tr("%1 is looking at the top %2 card(s) %3.", "female")
+ : tr("%1 is looking at the top %2 card(s) %3.", "male")
+ ).arg(sanitizeHtml(player->getName())).arg("" + QString::number(numberCards) + "")
.arg(zone->getTranslatedName(zone->getPlayer() == player, CaseTopCardsOfZone)));
}
@@ -798,7 +799,8 @@ void MessageLogWidget::logSetActivePlayer(Player *player)
str = tr("It is now %1's turn.", "female");
else
str = tr("It is now %1's turn.", "male");
- appendHtml("
" + QDateTime::currentDateTime().toString("[hh:mm:ss] ") + str.arg(player->getName()) + "
");
+ QString fontColor = (player->getName().compare(QString(tabSupervisor->getUserInfo()->name().c_str())) == 0) ? "#" + settingsCache->getChatMentionColor(): "#0041FF";
+ appendHtml("
" + QDateTime::currentDateTime().toString("[hh:mm:ss] ") + str.arg("" + player->getName() + "") + "
");
}
void MessageLogWidget::logSetActivePhase(int phase)
diff --git a/cockatrice/src/tab_message.cpp b/cockatrice/src/tab_message.cpp
index 3048114d..1c55d8d5 100644
--- a/cockatrice/src/tab_message.cpp
+++ b/cockatrice/src/tab_message.cpp
@@ -106,7 +106,7 @@ void TabMessage::actLeave()
void TabMessage::processUserMessageEvent(const Event_UserMessage &event)
{
const UserLevelFlags userLevel(event.sender_name() == otherUserInfo->name() ? otherUserInfo->user_level() : ownUserInfo->user_level());
- chatView->appendMessage(QString::fromStdString(event.message()), QString::fromStdString(event.sender_name()), userLevel);
+ chatView->appendMessage(QString::fromStdString(event.message()), QString::fromStdString(event.sender_name()), userLevel, true);
emit userEvent();
}
diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp
index f8404519..d0f435c1 100644
--- a/cockatrice/src/tab_room.cpp
+++ b/cockatrice/src/tab_room.cpp
@@ -221,7 +221,7 @@ void TabRoom::processRoomSayEvent(const Event_RoomSay &event)
if (settingsCache->getIgnoreUnregisteredUsers() && !userLevel.testFlag(ServerInfo_User::IsRegistered))
return;
}
- chatView->appendMessage(QString::fromStdString(event.message()), senderName, userLevel);
+ chatView->appendMessage(QString::fromStdString(event.message()), senderName, userLevel, true);
emit userEvent(false);
}