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 int canJoin = d->server->maxPlayers() - players.
numClients();
70 return"<tr><td>" + PLAYERS +
": </td><td>"
71 + tr(
"%1 / %2 (%3 can join)").arg(players.
numClients()).arg(d->server->numTotalSlots()).arg(canJoin)
75 QString GameInfoTip::limitHTML(QString limitName, QString valueArgsTemplate,
int value)
77 QString row =
"<tr><td>" + limitName +
": </td><td>" + valueArgsTemplate +
"</td></tr>";
81 row = row.arg(UNLIMITED);
91 QString GameInfoTip::scorelimitHTML()
93 const QString SCORELIMIT = tr(
"Scorelimit");
94 QString row = limitHTML(SCORELIMIT,
"%1", d->server->scoreLimit());
99 QString GameInfoTip::teamScoresHTML()
102 if (d->server->gameMode().isTeamGame())
104 teamScores =
"<tr><td colspan=\"2\">%1</td></tr>";
106 bool bPrependBar =
false;
107 for (
int i = 0; i < MAX_TEAMS; ++i)
109 if (d->server->players().numPlayersOnTeam(i) != 0)
115 teams += d->server->teamName(i) +
": " + QString::number(d->server->score(i));
119 teamScores = teamScores.arg(teams);
125 QString GameInfoTip::timelimitHTML()
127 const QString TIMELIMIT = tr(
"Timelimit");
128 int timeLimit = d->server->timeLimit();
129 QString row = limitHTML(TIMELIMIT,
"%1 %2", timeLimit);
131 QString timeLeft =
"";
134 timeLeft = tr(
"(%1 left)").arg(d->server->timeLeft());
136 row = row.arg(timeLeft);