23 #include "gameinfotip.h"
24 #include "serverapi/playerslist.h"
25 #include "serverapi/server.h"
36 const QString
GameInfoTip::UNLIMITED = QObject::tr("Unlimited");
43 GameInfoTip::~GameInfoTip()
47 QString GameInfoTip::generateHTML()
49 QString table =
"<table>";
50 table += timelimitHTML();
51 table += scorelimitHTML();
52 table += teamScoresHTML();
53 table += playersHTML();
59 QString GameInfoTip::playersHTML()
61 const QString PLAYERS = tr(
"Players");
64 const int canJoin = qMax(0, d->server->numFreeJoinSlots());
65 return "<tr><td>" + PLAYERS +
": </td><td>"
66 + tr(
"%1 / %2 (%3 can join)").arg(players.
numClients()).arg(d->server->maxClients()).arg(canJoin)
70 QString GameInfoTip::limitHTML(QString limitName, QString valueArgsTemplate,
int value)
72 QString row =
"<tr><td>" + limitName +
": </td><td>" + valueArgsTemplate +
"</td></tr>";
76 row = row.arg(UNLIMITED);
86 QString GameInfoTip::scorelimitHTML()
88 const QString SCORELIMIT = tr(
"Scorelimit");
89 QString row = limitHTML(SCORELIMIT,
"%1", d->server->scoreLimit());
94 QString GameInfoTip::teamScoresHTML()
97 if (d->server->gameMode().isTeamGame())
99 teamScores =
"<tr><td colspan=\"2\">%1</td></tr>";
101 bool bPrependBar =
false;
102 for (
int i = 0; i < MAX_TEAMS; ++i)
104 if (d->server->players().numPlayersOnTeam(i) != 0)
110 teams += d->server->teamName(i) +
": " + QString::number(d->server->score(i));
114 teamScores = teamScores.arg(teams);
120 QString GameInfoTip::timelimitHTML()
122 const QString TIMELIMIT = tr(
"Timelimit");
123 int timeLimit = d->server->timeLimit();
124 QString row = limitHTML(TIMELIMIT,
"%1 %2", timeLimit);
126 QString timeLeft =
"";
129 timeLeft = tr(
"(%1 left)").arg(d->server->timeLeft());
131 row = row.arg(timeLeft);