if (role != Qt::DisplayRole) {
return QVariant();
}
+ const Event &e = events[index.row()];
if (index.column() == 0) {
- return QString::fromUtf8(format_timestamp(events[index.row()].t));
+ return QString::fromUtf8(format_timestamp(e.t));
} else if (index.column() == 1) {
- optional<int> player_id = events[index.row()].player_id;
- optional<int> formation_id = events[index.row()].formation_id;
+ optional<int> player_id = e.player_id;
+ optional<int> formation_id = e.formation_id;
if (player_id) {
auto p_it = players.find(*player_id);
const Player &p = p_it->second;
auto f_it = formations.find(*formation_id);
const Formation &f = f_it->second;
return QString::fromUtf8(f.name);
+ } else if (e.type == "formation_offense" || e.type == "formation_defense") {
+ return "(None/unknown)";
} else {
return QVariant();
}
Event e;
e.t = t;
e.player_id = player_id;
+ e.formation_id = formation_id;
e.type = type;
events.insert(events.begin() + pos, e);
t = backdate_point;
}
if (offense) {
- insert_event(t, nullopt, formation, "formation_offense");
+ insert_event(t, nullopt, formation == 0 ? nullopt : optional{formation}, "formation_offense");
} else {
- insert_event(t, nullopt, formation, "formation_defense");
+ insert_event(t, nullopt, formation == 0 ? nullopt : optional{formation}, "formation_defense");
}
}