21 setContentAlignment(AlignmentFlag::Center);
22 setStyleClass(
"highscores");
29 this->addWidget(std::make_unique<WText>(
"<h2>Hall of fame</h2>"));
33 std::string yourScore;
35 yourScore =
"Congratulations! You are currently leading the pack.";
37 yourScore =
"You are currently ranked number "
38 + asString(ranking).toUTF8()
42 WText *score = this->addWidget(std::make_unique<WText>(
"<p>" + yourScore +
"</p>"));
43 score->addStyleClass(
"score");
47 WTable *table = this->addWidget(std::make_unique<WTable>());
49 table->elementAt(0, 0)->addWidget(std::make_unique<WText>(
"Rank"));
50 table->elementAt(0, 1)->addWidget(std::make_unique<WText>(
"User"));
51 table->elementAt(0, 2)->addWidget(std::make_unique<WText>(
"Games"));
52 table->elementAt(0, 3)->addWidget(std::make_unique<WText>(
"Score"));
53 table->elementAt(0, 4)->addWidget(std::make_unique<WText>(
"Last game"));
54 table->setHeaderCount(1);
58 for (
auto& user : top) {
60 if (user.score != formerScore) {
61 formerScore = user.score;
65 int row = table->rowCount();
66 table->elementAt(row, 0)->addWidget(std::make_unique<WText>(asString(rank)));
67 table->elementAt(row, 1)->addWidget(std::make_unique<WText>(user.name));
68 table->elementAt(row, 2)->addWidget(std::make_unique<WText>(asString(user.gamesPlayed)));
69 table->elementAt(row, 3)->addWidget(std::make_unique<WText>(asString(user.score)));
70 if (!user.lastGame.isNull())
71 table->elementAt(row, 4)->addWidget(std::make_unique<WText>(user.lastGame.timeTo(WDateTime::currentDateTime())
74 table->elementAt(row, 4)->addWidget(std::make_unique<WText>(
"---"));
77 table->rowAt(row)->setId(
"self");
80 WText *fineprint = this->addWidget(std::make_unique<WText>(tr(
"highscore.info")));
81 fineprint->addStyleClass(
"fineprint");
std::vector< User > topUsers(int limit)
std::string userName() const