mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-29 18:13:55 -07:00
support for women
This commit is contained in:
parent
4777d18fe3
commit
b7ab2d97bd
29 changed files with 5743 additions and 1965 deletions
|
|
@ -46,35 +46,36 @@ void CardZone::clearContents()
|
|||
QString CardZone::getTranslatedName(bool hisOwn, GrammaticalCase gc) const
|
||||
{
|
||||
QString ownerName = player->getName();
|
||||
bool female = player->getUserInfo()->getGender() == ServerInfo_User::Female;
|
||||
if (name == "hand")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his hand", "nominative") : tr("%1's hand", "nominative").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his hand", "genitive") : tr("of %1's hand", "genitive").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his hand", "accusative") : tr("%1's hand", "accusative").arg(ownerName);
|
||||
case CaseNominative: return female ? (hisOwn ? tr("her hand", "nominative, female owner") : tr("%1's hand", "nominative, female owner").arg(ownerName)) : (hisOwn ? tr("his hand", "nominative, male owner") : tr("%1's hand", "nominative, male owner").arg(ownerName));
|
||||
case CaseGenitive: return female ? (hisOwn ? tr("of her hand", "genitive, female owner") : tr("of %1's hand", "genitive, female owner").arg(ownerName)) : (hisOwn ? tr("of his hand", "genitive, male owner") : tr("of %1's hand", "genitive, male owner").arg(ownerName));
|
||||
case CaseAccusative: return female ? (hisOwn ? tr("her hand", "accusative, female owner") : tr("%1's hand", "accusative, female owner").arg(ownerName)) : (hisOwn ? tr("his hand", "accusative, male owner") : tr("%1's hand", "accusative, male owner").arg(ownerName));
|
||||
}
|
||||
else if (name == "deck")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his library", "nominative") : tr("%1's library", "nominative").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his library", "genitive") : tr("of %1's library", "genitive").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his library", "accusative") : tr("%1's library", "accusative").arg(ownerName);
|
||||
case CaseNominative: return female ? (hisOwn ? tr("her library", "nominative, female owner") : tr("%1's library", "nominative, female owner").arg(ownerName)) : (hisOwn ? tr("his library", "nominative, male owner") : tr("%1's library", "nominative, male owner").arg(ownerName));
|
||||
case CaseGenitive: return female ? (hisOwn ? tr("of her library", "genitive, female owner") : tr("of %1's library", "genitive, female owner").arg(ownerName)) : (hisOwn ? tr("of his library", "genitive, male owner") : tr("of %1's library", "genitive, male owner").arg(ownerName));
|
||||
case CaseAccusative: return female ? (hisOwn ? tr("her library", "accusative, female owner") : tr("%1's library", "accusative, female owner").arg(ownerName)) : (hisOwn ? tr("his library", "accusative, male owner") : tr("%1's library", "accusative, male owner").arg(ownerName));
|
||||
}
|
||||
else if (name == "grave")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his graveyard", "nominative") : tr("%1's graveyard", "nominative").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his graveyard", "genitive") : tr("of %1's graveyard", "genitive").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his graveyard", "accusative") : tr("%1's graveyard", "accusative").arg(ownerName);
|
||||
case CaseNominative: return female ? (hisOwn ? tr("her graveyard", "nominative, female owner") : tr("%1's graveyard", "nominative, female owner").arg(ownerName)) : (hisOwn ? tr("his graveyard", "nominative, male owner") : tr("%1's graveyard", "nominative, male owner").arg(ownerName));
|
||||
case CaseGenitive: return female ? (hisOwn ? tr("of her graveyard", "genitive, female owner") : tr("of %1's graveyard", "genitive, female owner").arg(ownerName)) : (hisOwn ? tr("of his graveyard", "genitive, male owner") : tr("of %1's graveyard", "genitive, male owner").arg(ownerName));
|
||||
case CaseAccusative: return female ? (hisOwn ? tr("her graveyard", "accusative, female owner") : tr("%1's graveyard", "accusative, female owner").arg(ownerName)) : (hisOwn ? tr("his graveyard", "accusative, male owner") : tr("%1's graveyard", "accusative, male owner").arg(ownerName));
|
||||
}
|
||||
else if (name == "rfg")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his exile", "nominative") : tr("%1's exile", "nominative").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his exile", "genitive") : tr("of %1's exile", "genitive").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his exile", "accusative") : tr("%1's exile", "accusative").arg(ownerName);
|
||||
case CaseNominative: return female ? (hisOwn ? tr("her exile", "nominative, female owner") : tr("%1's exile", "nominative, female owner").arg(ownerName)) : (hisOwn ? tr("his exile", "nominative, male owner") : tr("%1's exile", "nominative, male owner").arg(ownerName));
|
||||
case CaseGenitive: return female ? (hisOwn ? tr("of her exile", "genitive, female owner") : tr("of %1's exile", "genitive, female owner").arg(ownerName)) : (hisOwn ? tr("of his exile", "genitive, male owner") : tr("of %1's exile", "genitive, male owner").arg(ownerName));
|
||||
case CaseAccusative: return female ? (hisOwn ? tr("her exile", "accusative, female owner") : tr("%1's exile", "accusative, female owner").arg(ownerName)) : (hisOwn ? tr("his exile", "accusative, male owner") : tr("%1's exile", "accusative, male owner").arg(ownerName));
|
||||
}
|
||||
else if (name == "sb")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his sideboard", "nominative") : tr("%1's sideboard", "nominative").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his sideboard", "genitive") : tr("of %1's sideboard", "genitive").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his sideboard", "accusative") : tr("%1's sideboard", "accusative").arg(ownerName);
|
||||
case CaseNominative: return female ? (hisOwn ? tr("her sideboard", "nominative, female owner") : tr("%1's sideboard", "nominative, female owner").arg(ownerName)) : (hisOwn ? tr("his sideboard", "nominative, male owner") : tr("%1's sideboard", "nominative, male owner").arg(ownerName));
|
||||
case CaseGenitive: return female ? (hisOwn ? tr("of her sideboard", "genitive, female owner") : tr("of %1's sideboard", "genitive, female owner").arg(ownerName)) : (hisOwn ? tr("of his sideboard", "genitive, male owner") : tr("of %1's sideboard", "genitive, male owner").arg(ownerName));
|
||||
case CaseAccusative: return female ? (hisOwn ? tr("her sideboard", "accusative, female owner") : tr("%1's sideboard", "accusative, female owner").arg(ownerName)) : (hisOwn ? tr("his sideboard", "accusative, male owner") : tr("%1's sideboard", "accusative, male owner").arg(ownerName));
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,11 @@ QString MessageLogWidget::sanitizeHtml(QString dirty) const
|
|||
.replace(">", ">");
|
||||
}
|
||||
|
||||
bool MessageLogWidget::isFemale(Player *player) const
|
||||
{
|
||||
return player->getUserInfo()->getGender() == ServerInfo_User::Female;
|
||||
}
|
||||
|
||||
void MessageLogWidget::logConnecting(QString hostname)
|
||||
{
|
||||
append(tr("Connecting to %1...").arg(sanitizeHtml(hostname)));
|
||||
|
|
@ -122,11 +127,11 @@ void MessageLogWidget::logSpectatorSay(QString spectatorName, QString message)
|
|||
append(QString("<font color=\"red\">%1:</font> %2").arg(sanitizeHtml(spectatorName)).arg(sanitizeHtml(message)));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logShuffle(Player *player)
|
||||
void MessageLogWidget::logShuffle(Player *player, CardZone *zone)
|
||||
{
|
||||
soundEngine->shuffle();
|
||||
if (currentContext != MessageContext_Mulligan)
|
||||
append(tr("%1 shuffles his library.").arg(sanitizeHtml(player->getName())));
|
||||
append(tr("%1 shuffles %2.").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(true, CaseAccusative)));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logRollDie(Player *player, int sides, int roll)
|
||||
|
|
@ -147,9 +152,9 @@ void MessageLogWidget::logDrawCards(Player *player, int number)
|
|||
void MessageLogWidget::logUndoDraw(Player *player, QString cardName)
|
||||
{
|
||||
if (cardName.isEmpty())
|
||||
append(tr("%1 undoes his last draw.").arg(sanitizeHtml(player->getName())));
|
||||
append((isFemale(player) ? tr("%1 undoes her last draw.") : tr("%1 undoes his last draw.")).arg(sanitizeHtml(player->getName())));
|
||||
else
|
||||
append(tr("%1 undoes his last draw (%2).").arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
||||
append((isFemale(player) ? tr("%1 undoes her last draw (%2).") : tr("%1 undoes his last draw (%2).")).arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
||||
}
|
||||
|
||||
QPair<QString, QString> MessageLogWidget::getFromStr(CardZone *zone, QString cardName, int position) const
|
||||
|
|
@ -169,16 +174,16 @@ QPair<QString, QString> MessageLogWidget::getFromStr(CardZone *zone, QString car
|
|||
else if (startName == "deck") {
|
||||
if (position == zone->getCards().size() - 1) {
|
||||
if (cardName.isEmpty()) {
|
||||
cardName = tr("the bottom card of his library");
|
||||
cardName = isFemale(zone->getPlayer()) ? tr("the bottom card of her library") : tr("the bottom card of his library");
|
||||
cardNameContainsStartZone = true;
|
||||
} else
|
||||
fromStr = tr(" from the bottom of his library");
|
||||
fromStr = isFemale(zone->getPlayer()) ? tr(" from the bottom of her library") : tr(" from the bottom of his library");
|
||||
} else if (position == 0) {
|
||||
if (cardName.isEmpty()) {
|
||||
cardName = tr("the top card of his library");
|
||||
cardName = isFemale(zone->getPlayer()) ? tr("the top card of her library") : tr("the top card of his library");
|
||||
cardNameContainsStartZone = true;
|
||||
} else
|
||||
fromStr = tr(" from the top of his library");
|
||||
fromStr = isFemale(zone->getPlayer()) ? tr(" from the top of her library") : tr(" from the top of his library");
|
||||
} else
|
||||
fromStr = tr(" from library");
|
||||
} else if (startName == "sb")
|
||||
|
|
@ -233,13 +238,13 @@ void MessageLogWidget::doMoveCard(LogMoveCard &attributes)
|
|||
finalStr = tr("%1 moves %2%3 to hand.");
|
||||
else if (targetName == "deck") {
|
||||
if (attributes.newX == -1)
|
||||
finalStr = tr("%1 puts %2%3 into his library.");
|
||||
finalStr = isFemale(attributes.targetZone->getPlayer()) ? tr("%1 puts %2%3 into her library.") : tr("%1 puts %2%3 into his library.");
|
||||
else if (attributes.newX == attributes.targetZone->getCards().size() - 1)
|
||||
finalStr = tr("%1 puts %2%3 on bottom of his library.");
|
||||
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.");
|
||||
else if (attributes.newX == 0)
|
||||
finalStr = tr("%1 puts %2%3 on top of his library.");
|
||||
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.");
|
||||
else
|
||||
finalStr = tr("%1 puts %2%3 into his library at position %4.");
|
||||
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.");
|
||||
} else if (targetName == "sb")
|
||||
finalStr = tr("%1 moves %2%3 to sideboard.");
|
||||
else if (targetName == "stack") {
|
||||
|
|
@ -269,7 +274,7 @@ void MessageLogWidget::logMulligan(Player *player, int number)
|
|||
if (number > -1)
|
||||
append(tr("%1 takes a mulligan to %n.", "", number).arg(sanitizeHtml(player->getName())));
|
||||
else
|
||||
append(tr("%1 draws his initial hand.").arg(sanitizeHtml(player->getName())));
|
||||
append((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)
|
||||
|
|
@ -351,7 +356,7 @@ void MessageLogWidget::logSetTapped(Player *player, CardItem *card, bool tapped)
|
|||
else {
|
||||
QString cardStr;
|
||||
if (!card)
|
||||
cardStr = tr("his permanents");
|
||||
cardStr = isFemale(player) ? tr("her permanents") : tr("his permanents");
|
||||
else
|
||||
cardStr = QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(card->getName()));
|
||||
append(tr("%1 %2 %3.").arg(sanitizeHtml(player->getName())).arg(tapped ? tr("taps") : tr("untaps")).arg(cardStr));
|
||||
|
|
@ -495,7 +500,7 @@ void MessageLogWidget::containerProcessingDone()
|
|||
void MessageLogWidget::connectToPlayer(Player *player)
|
||||
{
|
||||
connect(player, SIGNAL(logSay(Player *, QString)), this, SLOT(logSay(Player *, QString)));
|
||||
connect(player, SIGNAL(logShuffle(Player *)), this, SLOT(logShuffle(Player *)));
|
||||
connect(player, SIGNAL(logShuffle(Player *, CardZone *)), this, SLOT(logShuffle(Player *, CardZone *)));
|
||||
connect(player, SIGNAL(logRollDie(Player *, int, int)), this, SLOT(logRollDie(Player *, int, int)));
|
||||
connect(player, SIGNAL(logCreateArrow(Player *, Player *, QString, Player *, QString, bool)), this, SLOT(logCreateArrow(Player *, Player *, QString, Player *, QString, bool)));
|
||||
connect(player, SIGNAL(logCreateToken(Player *, QString, QString)), this, SLOT(logCreateToken(Player *, QString, QString)));
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ private:
|
|||
|
||||
CardInfoWidget *infoWidget;
|
||||
QString sanitizeHtml(QString dirty) const;
|
||||
bool isFemale(Player *player) const;
|
||||
QPair<QString, QString> getFromStr(CardZone *zone, QString cardName, int position) const;
|
||||
QString getCardNameUnderMouse(const QPoint &pos) const;
|
||||
MessageContext currentContext;
|
||||
|
|
@ -66,7 +67,7 @@ public slots:
|
|||
void logGameStart();
|
||||
void logSay(Player *player, QString message);
|
||||
void logSpectatorSay(QString spectatorName, QString message);
|
||||
void logShuffle(Player *player);
|
||||
void logShuffle(Player *player, CardZone *zone);
|
||||
void logRollDie(Player *player, int sides, int roll);
|
||||
void logDrawCards(Player *player, int number);
|
||||
void logUndoDraw(Player *player, QString cardName);
|
||||
|
|
|
|||
|
|
@ -78,6 +78,36 @@ QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max)
|
|||
|
||||
QMap<int, QPixmap> PingPixmapGenerator::pmCache;
|
||||
|
||||
QPixmap GenderPixmapGenerator::generatePixmap(int height, int _gender)
|
||||
{
|
||||
ServerInfo_User::Gender gender = static_cast<ServerInfo_User::Gender>(_gender);
|
||||
if ((gender != ServerInfo_User::Male) && (gender != ServerInfo_User::Female))
|
||||
gender = ServerInfo_User::GenderUnknown;
|
||||
|
||||
int key = gender * 100000 + height;
|
||||
if (pmCache.contains(key))
|
||||
return pmCache.value(key);
|
||||
|
||||
QString genderStr;
|
||||
switch (gender) {
|
||||
case ServerInfo_User::Male: genderStr = "male"; break;
|
||||
case ServerInfo_User::Female: genderStr = "female"; break;
|
||||
default: genderStr = "unknown";
|
||||
};
|
||||
|
||||
QSvgRenderer svg(QString(":/resources/genders/" + genderStr + ".svg"));
|
||||
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
||||
QPixmap pixmap(width, height);
|
||||
pixmap.fill(Qt::transparent);
|
||||
QPainter painter(&pixmap);
|
||||
svg.render(&painter, QRectF(0, 0, width, height));
|
||||
|
||||
pmCache.insert(key, pixmap);
|
||||
return pixmap;
|
||||
}
|
||||
|
||||
QMap<int, QPixmap> GenderPixmapGenerator::pmCache;
|
||||
|
||||
QPixmap CountryPixmapGenerator::generatePixmap(int height, const QString &countryCode)
|
||||
{
|
||||
if (countryCode.size() != 2)
|
||||
|
|
@ -110,8 +140,8 @@ QPixmap UserLevelPixmapGenerator::generatePixmap(int height, int userLevel)
|
|||
QString levelString;
|
||||
if (userLevel & ServerInfo_User::IsAdmin)
|
||||
levelString = "admin";
|
||||
else if (userLevel & ServerInfo_User::IsJudge)
|
||||
levelString = "judge";
|
||||
else if (userLevel & ServerInfo_User::IsModerator)
|
||||
levelString = "moderator";
|
||||
else if (userLevel &ServerInfo_User::IsRegistered)
|
||||
levelString = "registered";
|
||||
else
|
||||
|
|
|
|||
|
|
@ -28,6 +28,14 @@ public:
|
|||
static void clear() { pmCache.clear(); }
|
||||
};
|
||||
|
||||
class GenderPixmapGenerator {
|
||||
private:
|
||||
static QMap<int, QPixmap> pmCache;
|
||||
public:
|
||||
static QPixmap generatePixmap(int height, int gender);
|
||||
static void clear() { pmCache.clear(); }
|
||||
};
|
||||
|
||||
class CountryPixmapGenerator {
|
||||
private:
|
||||
static QMap<QString, QPixmap> pmCache;
|
||||
|
|
|
|||
|
|
@ -713,7 +713,7 @@ void Player::eventSay(Event_Say *event)
|
|||
|
||||
void Player::eventShuffle(Event_Shuffle * /*event*/)
|
||||
{
|
||||
emit logShuffle(this);
|
||||
emit logShuffle(this, zones.value("deck"));
|
||||
}
|
||||
|
||||
void Player::eventRollDie(Event_RollDie *event)
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ signals:
|
|||
void newCardAdded(AbstractCardItem *card);
|
||||
// Log events
|
||||
void logSay(Player *player, QString message);
|
||||
void logShuffle(Player *player);
|
||||
void logShuffle(Player *player, CardZone *zone);
|
||||
void logRollDie(Player *player, int sides, int roll);
|
||||
void logCreateArrow(Player *player, Player *startPlayer, QString startCard, Player *targetPlayer, QString targetCard, bool _playerTarget);
|
||||
void logCreateToken(Player *player, QString cardName, QString pt);
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _fullInfo, QWidget *paren
|
|||
nameLabel->setFont(nameFont);
|
||||
realNameLabel1 = new QLabel;
|
||||
realNameLabel2 = new QLabel;
|
||||
genderLabel1 = new QLabel;
|
||||
genderLabel2 = new QLabel;
|
||||
countryLabel1 = new QLabel;
|
||||
countryLabel2 = new QLabel;
|
||||
userLevelLabel1 = new QLabel;
|
||||
|
|
@ -28,11 +30,13 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _fullInfo, QWidget *paren
|
|||
mainLayout->addWidget(nameLabel, 1, 0, 1, 3);
|
||||
mainLayout->addWidget(realNameLabel1, 2, 0, 1, 1);
|
||||
mainLayout->addWidget(realNameLabel2, 2, 1, 1, 2);
|
||||
mainLayout->addWidget(countryLabel1, 3, 0, 1, 1);
|
||||
mainLayout->addWidget(countryLabel2, 3, 1, 1, 2);
|
||||
mainLayout->addWidget(userLevelLabel1, 4, 0, 1, 1);
|
||||
mainLayout->addWidget(userLevelLabel2, 4, 1, 1, 1);
|
||||
mainLayout->addWidget(userLevelLabel3, 4, 2, 1, 1);
|
||||
mainLayout->addWidget(genderLabel1, 3, 0, 1, 1);
|
||||
mainLayout->addWidget(genderLabel2, 3, 1, 1, 2);
|
||||
mainLayout->addWidget(countryLabel1, 4, 0, 1, 1);
|
||||
mainLayout->addWidget(countryLabel2, 4, 1, 1, 2);
|
||||
mainLayout->addWidget(userLevelLabel1, 5, 0, 1, 1);
|
||||
mainLayout->addWidget(userLevelLabel2, 5, 1, 1, 1);
|
||||
mainLayout->addWidget(userLevelLabel3, 5, 2, 1, 1);
|
||||
mainLayout->setColumnStretch(2, 10);
|
||||
|
||||
setWindowTitle(tr("User information"));
|
||||
|
|
@ -43,6 +47,7 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, bool _fullInfo, QWidget *paren
|
|||
void UserInfoBox::retranslateUi()
|
||||
{
|
||||
realNameLabel1->setText(tr("Real name:"));
|
||||
genderLabel1->setText(tr("Gender:"));
|
||||
countryLabel1->setText(tr("Location:"));
|
||||
userLevelLabel1->setText(tr("User level:"));
|
||||
}
|
||||
|
|
@ -58,13 +63,14 @@ void UserInfoBox::updateInfo(ServerInfo_User *user)
|
|||
|
||||
nameLabel->setText(user->getName());
|
||||
realNameLabel2->setText(user->getRealName());
|
||||
genderLabel2->setPixmap(GenderPixmapGenerator::generatePixmap(15, user->getGender()));
|
||||
countryLabel2->setPixmap(CountryPixmapGenerator::generatePixmap(15, user->getCountry()));
|
||||
userLevelLabel2->setPixmap(UserLevelPixmapGenerator::generatePixmap(15, userLevel));
|
||||
QString userLevelText;
|
||||
if (userLevel & ServerInfo_User::IsAdmin)
|
||||
userLevelText = tr("Administrator");
|
||||
else if (userLevel & ServerInfo_User::IsJudge)
|
||||
userLevelText = tr("Judge");
|
||||
else if (userLevel & ServerInfo_User::IsModerator)
|
||||
userLevelText = tr("Moderator");
|
||||
else if (userLevel & ServerInfo_User::IsRegistered)
|
||||
userLevelText = tr("Registered user");
|
||||
else
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class UserInfoBox : public QWidget {
|
|||
private:
|
||||
AbstractClient *client;
|
||||
bool fullInfo;
|
||||
QLabel *avatarLabel, *nameLabel, *realNameLabel1, *realNameLabel2, *countryLabel1, *countryLabel2, *userLevelLabel1, *userLevelLabel2, *userLevelLabel3;
|
||||
QLabel *avatarLabel, *nameLabel, *realNameLabel1, *realNameLabel2, *genderLabel1, *genderLabel2, *countryLabel1, *countryLabel2, *userLevelLabel1, *userLevelLabel2, *userLevelLabel3;
|
||||
public:
|
||||
UserInfoBox(AbstractClient *_client, bool fullInfo, QWidget *parent = 0, Qt::WindowFlags flags = 0);
|
||||
void retranslateUi();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue