- tourn->id = tournament["tournament"].as(tourn->id);
- tourn->name = tournament["tournamentname"].as(tourn->name);
- } catch (PGSTD::out_of_range &e) {
- tourn->id = -1;
- tourn->name = "";
+ /*
+ * If we still have room, make yet another rotational screen with
+ * results from previous groups -- otherwise tack them onto the end
+ * of the auxilliary screens.
+ */
+ RotateScreen *finished_groups_screen = aux_screen;
+ if (screens.size() < 4 && screens.size() != 1) {
+ finished_groups_screen = new RotateScreen();
+ screens.push_back(finished_groups_screen);
+ }
+
+ std::vector<SkeletonGroup> finished_groups;
+ conn.perform(FetchListOfFinishedGroups(active_tournament.id, &finished_groups));
+
+ for (std::vector<SkeletonGroup>::const_iterator i = finished_groups.begin(); i != finished_groups.end(); ++i) {
+ finished_groups_screen->add_screen(new GroupScreen(conn, i->tournament, i->round, i->parallel, 0, 1, 1));